SingleQuantumExecutor¶
-
class
lsst.ctrl.mpexec.SingleQuantumExecutor(taskFactory, skipExisting=False, enableLsstDebug=False)¶ Bases:
lsst.ctrl.mpexec.QuantumExecutorExecutor class which runs one Quantum at a time.
Parameters: - butler :
Butler Data butler.
- taskFactory :
TaskFactory Instance of a task factory.
- skipExisting :
bool, optional If True then quanta with all existing outputs are not executed.
- enableLsstDebug :
bool, optional Enable debugging with
lsstDebugfacility for a task.
Methods Summary
execute(taskDef, quantum, butler)Execute single quantum. makeTask(taskClass, config, butler)Make new task instance. quantumOutputsExist(quantum, butler)Decide whether this quantum needs to be executed. runQuantum(task, quantum, taskDef, butler)Execute task on a single quantum. setupLogging(taskClass, config, quantum)Configure logging system for execution of this task. updateQuantumInputs(quantum, butler)Update quantum with extra information. Methods Documentation
-
execute(taskDef, quantum, butler)¶ Execute single quantum.
Parameters:
-
makeTask(taskClass, config, butler)¶ Make new task instance.
Parameters: - taskClass :
type Sub-class of
PipelineTask.- config :
PipelineTaskConfig Configuration object for this task
Returns: - task :
PipelineTask Instance of
taskClasstype.- butler :
Butler Data butler.
- taskClass :
-
quantumOutputsExist(quantum, butler)¶ Decide whether this quantum needs to be executed.
Parameters: Returns: - exist :
bool True if all quantum’s outputs exist in a collection, False otherwise.
Raises: - RuntimeError
Raised if some outputs exist and some not.
- exist :
-
runQuantum(task, quantum, taskDef, butler)¶ Execute task on a single quantum.
Parameters: - task :
PipelineTask Task object.
- quantum :
Quantum Single Quantum instance.
- taskDef :
TaskDef Task definition structure.
- butler :
Butler Data butler.
- task :
-
setupLogging(taskClass, config, quantum)¶ Configure logging system for execution of this task.
Ths method can setup logging to attach task- or quantum-specific information to log messages. Potentially this can take into accout some info from task configuration as well.
Parameters: - taskClass :
type Sub-class of
PipelineTask.- config :
PipelineTaskConfig Configuration object for this task
- quantum :
Quantum Single Quantum instance.
- taskClass :
-
updateQuantumInputs(quantum, butler)¶ Update quantum with extra information.
Some methods may require input DatasetRefs to have non-None
dataset_id, but in case of intermediate dataset it may not be filled during QuantumGraph construction. This method will retrieve missing info from registry.Parameters:
- butler :