QuantumAttemptStatus

class lsst.pipe.base.QuantumAttemptStatus(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Enum summarizing an attempt to run a quantum.

Attributes Summary

ABORTED

The quantum failed with a hard error that prevented both logs and metadata from being written.

ABORTED_SUCCESS

Task metadata was written for this attempt but logs were not.

BLOCKED

This quantum was not executed because an upstream quantum failed.

FAILED

Execution of the quantum failed gracefully.

SUCCESSFUL

This quantum was successfully executed.

UNKNOWN

The status of this attempt is unknown.

Attributes Documentation

ABORTED = -4

The quantum failed with a hard error that prevented both logs and metadata from being written.

This state is only set if information from higher-level tooling (e.g. BPS) is available to distinguish it from UNKNOWN.

ABORTED_SUCCESS = -2

Task metadata was written for this attempt but logs were not.

This is a rare condition that requires a hard failure (i.e. the kind that can prevent a finally block from running or I/O from being durable) at a very precise time.

BLOCKED = 0

This quantum was not executed because an upstream quantum failed.

Upstream quanta with status UNKNOWN, FAILED, or ABORTED are considered blockers; ABORTED_SUCCESS is not.

FAILED = -1

Execution of the quantum failed gracefully.

This is always set if the task metadata dataset was not written but logs were, as is the case when a Python exception is caught and handled by the execution system.

This status guarantees that the task log dataset was produced but the metadata dataset was not.

SUCCESSFUL = 1

This quantum was successfully executed.

Quanta may be considered successful even if they do not write any outputs or shortcut early by raising NoWorkFound or one of its variants. They may even be considered successful if they raise AnnotatedPartialOutputsError if the executor is configured to treat that exception as a non-failure. See QuantumSuccessCaveats for details on how these “successes with caveats” are reported.

UNKNOWN = -3

The status of this attempt is unknown.

This means no logs or metadata were written, and it at least could not be determined whether the quantum was blocked by an upstream failure (if it was definitely blocked, BLOCKED is set instead).