QuantumExecutor

class lsst.ctrl.mpexec.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)

Execute single quantum.

Methods Documentation

abstract execute(task_node: TaskNode, /, quantum: Quantum) tuple[Quantum, QuantumReport | None]

Execute single quantum.

Parameters:
task_nodeTaskNode

Task definition structure.

quantumQuantum

Quantum for this execution.

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.