MPGraphExecutor¶
- class lsst.ctrl.mpexec.MPGraphExecutor(numProc: int, timeout: float, quantumExecutor: QuantumExecutor, *, startMethod: Literal['spawn'] | Literal['fork'] | Literal['forkserver'] | None = None, failFast: bool = False, pdb: str | None = None, executionGraphFixup: ExecutionGraphFixup | None = None)¶
Bases:
QuantumGraphExecutorImplementation 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
numProcis greater than one this instance must support pickle.- startMethod
str, optional Start method from
multiprocessingmodule,Noneselects the best one for current platform.- failFast
bool, optional If set to
Truethen stop processing on first error from any task.- pdb
str, optional Debugger to import and use (via the
post_mortemfunction) in the event of an exception.- executionGraphFixup
ExecutionGraphFixup, optional Instance used for modification of execution graph.
- numProc
Methods Summary
execute(graph, butler)Execute whole graph.
Return execution report from last call to
execute.Methods Documentation
- execute(graph: QuantumGraph, butler: Butler) None¶
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
- graph