Executor#

Base class#

class tango.executor.Executor(workspace, include_package=None, parallelism=None)[source]#

An Executor is a class that is responsible for running steps and caching their results.

This is the base class and default implementation, registered as “default”.

Note

The parallelism parameter has no effect with this default Executor, but is part of the API because most subclass implementations allow configuring parallelism.

execute_step_graph(step_graph, run_name=None)[source]#

Execute a StepGraph. This attempts to execute every step in order. If a step fails, its dependent steps are not run, but unrelated steps are still executed. Step failures will be logged, but no exceptions will be raised.

Return type:

ExecutorOutput

execute_sub_graph_for_steps(step_graph, *step_names, run_name=None)[source]#

Execute the sub-graph associated with a particular step in a StepGraph.

Return type:

ExecutorOutput

class tango.executor.ExecutorOutput(successful=<factory>, failed=<factory>, not_run=<factory>)[source]#

Describes the outcome of the execution.

failed: Dict[str, ExecutionMetadata]#

Steps that failed.

not_run: Dict[str, ExecutionMetadata]#

Steps that were ignored (usually because of failed dependencies).

successful: Dict[str, ExecutionMetadata]#

Steps which ran successfully or were found in the cache.

class tango.executor.ExecutionMetadata(logs_location=None, result_location=None)[source]#
logs_location: Optional[str] = None#

Path or URL to the logs for the step’s execution.

result_location: Optional[str] = None#

Path or URL to the result of the step’s execution.