def _trigger(self, representation): try: workflow_file = self.params["workflow"] except KeyError: raise StepError("required parameter 'workflow' not specified") self.info("running workflow %s",workflow_file) # error if import is above from ipf.engine import WorkflowEngine engine = WorkflowEngine() engine.run(workflow_file)
def main(): usage = "Usage: %prog [options] <workflow file>" parser = optparse.OptionParser(usage=usage) parser.add_option("-d","--daemon",action="store_true",default=False,dest="daemon", help="run as a daemon") parser.add_option("-c","--cron",action="store_true",default=False,dest="cron", help="running out of cron") (options, args) = parser.parse_args() if options.daemon and options.cron: parser.error("can't run as both daemon and cron") if len(args) != 1: parser.error("exactly one positional argument expected - a path to a workflow file") if options.daemon: daemon = WorkflowDaemon(args[0]) daemon.start() elif options.cron: # don't let processes pile up if workflows aren't finishing workflow = OneWorkflowOnly(args[0]) workflow.start() else: engine = WorkflowEngine() engine.run(args[0])
def run(self): engine = WorkflowEngine() engine.run(self.workflow_path)