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(taskDef, quantum)

Execute single quantum.

getReport()

Return execution report from last call to execute.

Methods Documentation

abstract execute(taskDef: TaskDef, quantum: Quantum) Quantum

Execute single quantum.

Parameters:
taskDefTaskDef

Task definition structure.

quantumQuantum

Quantum for this execution.

Returns:
quantumQuantum

The quantum actually executed.

Notes

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

getReport() QuantumReport | None

Return execution report from last call to execute.

Returns:
reportQuantumReport

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

Raises:
RuntimeError

Raised if this method is called before execute.