JobExecutorStatus#

class JobExecutorStatus(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)#

Bases: Enum

Different states a job can be in.

The ordering of these statuses is important, and execution logic relies on it. Thus, if a new status is added, ensure that it is slotted in at the appropriate place. See the __lt__() implementation for further details.

Module: iqm.station_control.interface.models.jobs

Attributes

RECEIVED

The job has been received by the server.

VALIDATION_STARTED

The job is being validated.

VALIDATION_ENDED

The job passed validation.

FETCH_CALIBRATION_STARTED

Calibration data for the job is being fetched.

FETCH_CALIBRATION_ENDED

Calibration data for the job has been fetched.

COMPILATION_STARTED

The job is being compiled.

COMPILATION_ENDED

The job has been succesfully compiled.

SAVE_SWEEP_METADATA_STARTED

Metadata about the sweep is being stored to database.

SAVE_SWEEP_METADATA_ENDED

Metadata about the sweep has been stored to database.

PENDING_EXECUTION

The job is ready for execution and is waiting for its turn in the queue.

EXECUTION_STARTED

The job has started executing on the instruments.

EXECUTION_ENDED

The job has finished execution on the instruments.

POST_PROCESSING_PENDING

The job has finished execution and is awaiting further processing.

POST_PROCESSING_STARTED

Execution artifacts are being constructed and persisted.

POST_PROCESSING_ENDED

Execution artifacts have been constructed and persisted.

READY

The job has completed.

FAILED

The job has failed.

ABORTED

The job has been aborted.

Methods

terminal_statuses

Statuses from which the execution can't continue.

in_progress_statuses

Statuses representing jobs that should be cleaned up on restart.

RECEIVED = 'received'#

The job has been received by the server.

VALIDATION_STARTED = 'validation_started'#

The job is being validated.

VALIDATION_ENDED = 'validation_ended'#

The job passed validation.

FETCH_CALIBRATION_STARTED = 'fetch_calibration_started'#

Calibration data for the job is being fetched.

FETCH_CALIBRATION_ENDED = 'fetch_calibration_ended'#

Calibration data for the job has been fetched.

COMPILATION_STARTED = 'compilation_started'#

The job is being compiled.

COMPILATION_ENDED = 'compilation_ended'#

The job has been succesfully compiled.

SAVE_SWEEP_METADATA_STARTED = 'save_sweep_metadata_started'#

Metadata about the sweep is being stored to database.

SAVE_SWEEP_METADATA_ENDED = 'save_sweep_metadata_ended'#

Metadata about the sweep has been stored to database.

PENDING_EXECUTION = 'pending_execution'#

The job is ready for execution and is waiting for its turn in the queue.

EXECUTION_STARTED = 'execution_started'#

The job has started executing on the instruments.

EXECUTION_ENDED = 'execution_ended'#

The job has finished execution on the instruments.

POST_PROCESSING_PENDING = 'post_processing_pending'#

The job has finished execution and is awaiting further processing.

POST_PROCESSING_STARTED = 'post_processing_started'#

Execution artifacts are being constructed and persisted.

POST_PROCESSING_ENDED = 'post_processing_ended'#

Execution artifacts have been constructed and persisted.

READY = 'ready'#

The job has completed.

FAILED = 'failed'#

The job has failed. Error message(s) may be available.

ABORTED = 'aborted'#

The job has been aborted.

classmethod terminal_statuses()#

Statuses from which the execution can’t continue.

Return type:

set[JobExecutorStatus]

classmethod in_progress_statuses()#

Statuses representing jobs that should be cleaned up on restart.

Returns all non-terminal statuses.

Return type:

set[JobExecutorStatus]