MPGraphExecutor

class lsst.ctrl.mpexec.MPGraphExecutor(numProc, timeout, quantumExecutor, *, startMethod=None, failFast=False, executionGraphFixup=None)

Bases: lsst.ctrl.mpexec.QuantumGraphExecutor

Implementation of QuantumGraphExecutor using same-host multiprocess execution of Quanta.

Parameters:
numProc : int

Number of processes to use for executing tasks.

timeout : float

Time in seconds to wait for tasks to finish.

quantumExecutor : QuantumExecutor

Executor for single quantum. For multiprocess-style execution when numProc is greater than one this instance must support pickle.

startMethod : str, optional

Start method from multiprocessing module, None selects the best one for current platform.

failFast : bool, optional

If set to True then stop processing on first error from any task.

executionGraphFixup : ExecutionGraphFixup, optional

Instance used for modification of execution graph.

Methods Summary

execute(graph, butler) Execute whole graph.

Methods Documentation

execute(graph, butler)

Execute whole graph.

Implementation of this method depends on particular execution model and it has to be provided by a subclass. Execution model determines what happens here; it can be either actual running of the task or, for example, generation of the scripts for delayed batch execution.

Parameters:
graph : QuantumGraph

Execution graph.

butler : Butler

Data butler instance