flowserv.controller.serial.engine.runner module
Execute a serial workflow for given user input arguments.
- flowserv.controller.serial.engine.runner.exec_workflow(steps: List[flowserv.model.workflow.step.WorkflowStep], workers: flowserv.controller.worker.manager.WorkerPool, volumes: flowserv.volume.manager.VolumeManager, result: flowserv.controller.serial.workflow.result.RunResult) flowserv.controller.serial.workflow.result.RunResult
Execute steps in a serial workflow.
The workflow arguments are part of the execution context that is contained in the
flowserv.controller.serial.workflow.result.RunResult. The result object is used to maintain the results for executed workflow steps.Executes workflow steps in sequence. Terminates early if the execution of a workflow step returns a non-zero value. Uses the given worker factory to create workers for steps that are of class
flowserv.model.workflow.step.ContainerStep.- Parameters
steps (list of flowserv.model.workflow.step.WorkflowStep) – Steps in the serial workflow that are executed in the given context.
workers (flowserv.controller.worker.manager.WorkerPool, default=None) – Factory for
flowserv.model.workflow.step.ContainerStepsteps.volumes (flowserv.volume.manager.VolumeManager) – Manager for storage volumes that are used by the different workers.
result (flowserv.controller.serial.workflow.result.RunResult) – Collector for results from executed workflow steps. Contains the context within which the workflow is executed.
- Return type
flowserv.controller.worker.result.RunResult