PreExecInit¶
- class lsst.ctrl.mpexec.PreExecInit(butler: Butler, taskFactory: TaskFactory, extendRun: bool = False)¶
- Bases: - PreExecInitBase- Initialization of registry for QuantumGraph execution. - This class encapsulates all necessary operations that have to be performed on butler and registry to prepare them for QuantumGraph execution. - Parameters:
- butlerButler
- Data butler instance. 
- taskFactoryTaskFactory
- Task factory. 
- extendRunbool, optional
- If - Truethen do not try to overwrite any datasets that might exist in- butler.run; instead compare them when appropriate/possible. If- False, then any existing conflicting dataset will cause a butler exception to be raised.
 
- butler
 - Methods Summary - initialize(graph[, saveInitOutputs, ...])- Perform all initialization steps. - initializeDatasetTypes(graph[, ...])- Save or check DatasetTypes output by the tasks in a graph. - saveConfigs(graph)- Write configurations for pipeline tasks to butler or check that existing configurations are equal to the new ones. - saveInitOutputs(graph)- Write any datasets produced by initializing tasks in a graph. - savePackageVersions(graph)- Write versions of software packages to butler. - Context manager for transaction. - Methods Documentation - initialize(graph: QuantumGraph, saveInitOutputs: bool = True, registerDatasetTypes: bool = False, saveVersions: bool = True) None¶
- Perform all initialization steps. - Convenience method to execute all initialization steps. Instead of calling this method and providing all options it is also possible to call methods individually. - Parameters:
- graphQuantumGraph
- Execution graph. 
- saveInitOutputsbool, optional
- If - True(default) then save “init outputs”, configurations, and package versions to butler.
- registerDatasetTypesbool, optional
- If - Truethen register dataset types in registry, otherwise they must be already registered.
- saveVersionsbool, optional
- If - Falsethen do not save package versions even if- saveInitOutputsis set to- True.
 
- graph
 
 - initializeDatasetTypes(graph: QuantumGraph, registerDatasetTypes: bool = False) None¶
- Save or check DatasetTypes output by the tasks in a graph. - Iterates over all DatasetTypes for all tasks in a graph and either tries to add them to registry or compares them to existing ones. - Parameters:
- graphQuantumGraph
- Execution graph. 
- registerDatasetTypesbool, optional
- If - Truethen register dataset types in registry, otherwise they must be already registered.
 
- graph
- Raises:
- ValueError
- Raised if existing DatasetType is different from DatasetType in a graph. 
- KeyError
- Raised if - registerDatasetTypesis- Falseand DatasetType does not exist in registry.
 
 
 - saveConfigs(graph: QuantumGraph) None¶
- Write configurations for pipeline tasks to butler or check that existing configurations are equal to the new ones. - Parameters:
- graphQuantumGraph
- Execution graph. 
 
- graph
- Raises:
- TypeError
- Raised if existing object in butler is different from new data. 
- Exception
- Raised if - extendRunis- Falseand datasets already exists. Content of a butler collection should not be changed if exception is raised.
 
 
 - saveInitOutputs(graph: QuantumGraph) None¶
- Write any datasets produced by initializing tasks in a graph. - Parameters:
- graphQuantumGraph
- Execution graph. 
 
- graph
- Raises:
- TypeError
- Raised if the type of existing object in butler is different from new data. 
 
 
 - savePackageVersions(graph: QuantumGraph) None¶
- Write versions of software packages to butler. - Parameters:
- graphQuantumGraph
- Execution graph. 
 
- graph
- Raises:
- TypeError
- Raised if existing object in butler is incompatible with new data.