Handle execution backends.
- class pydra.engine.submitter.Submitter(plugin='cf', **kwargs)[source]
Send a task to the execution backend.
- async expand_runnable(runnable, wait=False, rerun=False)[source]
This coroutine handles state expansion.
Removes any states from runnable. If wait is set to False (default), aggregates all worker execution coroutines and returns them. If wait is True, waits for all coroutines to complete / error and returns None.
- async expand_workflow(wf, rerun=False)[source]
Expand and execute a stateless
Workflow. This method is only reached by Workflow._run_task.
Workflow) – Workflow Task object
wf – The computed workflow
- Return type:
- async submit_from_call(runnable, rerun)[source]
This coroutine should only be called once per Submitter call, and serves as the bridge between sync/async lands.
There are 4 potential paths based on the type of runnable: 0) Workflow has a different plugin than a submitter 1) Workflow without State 2) Task without State 3) (Workflow or Task) with State
Once Python 3.10 is the minimum, this should probably be refactored into using structural pattern matching.
Parse a graph and return all runnable tasks.