Source code for ewoksdask.engine
from typing import Any
from typing import List
from typing import Optional
from typing import Union
from dask.distributed import Client
from ewokscore.engine_interface import RawExecInfoType
from ewokscore.engine_interface import WorkflowEngine
from . import bindings
[docs]
class DaskWorkflowEngine(WorkflowEngine):
[docs]
def execute_graph(
self,
graph: Any,
*,
inputs: Optional[List[dict]] = None,
load_options: Optional[dict] = None,
varinfo: Optional[dict] = None,
execinfo: RawExecInfoType = None,
task_options: Optional[dict] = None,
outputs: Optional[List[dict]] = None,
merge_outputs: Optional[bool] = True,
# Engine specific:
scheduler: Union[dict, str, None, Client] = None,
scheduler_options: Optional[dict] = None,
) -> dict:
return bindings.execute_graph(
graph,
inputs=inputs,
load_options=load_options,
outputs=outputs,
merge_outputs=merge_outputs,
varinfo=varinfo,
execinfo=execinfo,
task_options=task_options,
scheduler=scheduler,
scheduler_options=scheduler_options,
)