QuantumExecutor#

class lsst.pipe.base.quantum_graph_executor.QuantumExecutor#

Bases: ABC

Class which abstracts execution of a single Quantum.

In general implementation should not depend on execution model and execution should always happen in-process. Main reason for existence of this class is to provide do-nothing implementation that can be used in the unit tests.

Methods Summary

execute(task_node, /, quantum[, quantum_id])

Execute single quantum.

Methods Documentation

abstract execute(task_node: TaskNode, /, quantum: Quantum, quantum_id: uuid.UUID | None = None) tuple[Quantum, QuantumReport | None]#

Execute single quantum.

Parameters#

task_nodeTaskNode

Task definition structure.

quantumQuantum

Quantum for this execution.

quantum_iduuid.UUID or None, optional

The ID of the quantum to be executed.

Returns#

quantumQuantum

The quantum actually executed.

reportQuantumReport

Structure describing the status of the execution of a quantum. None is returned if implementation does not support this feature.

Notes#

Any exception raised by the task or code that wraps task execution is propagated to the caller of this method.