Table of Contents

Enum TriggerState

Namespace
Quartz
Assembly
Quartz.dll

All trigger states known to Scheduler.

public enum TriggerState

Fields

Blocked = 4

Indicates that the ITrigger is in the "blocked" state.

A ITrigger arrives at the blocked state when a different trigger of the same job is currently executing and that job has a DisallowConcurrentExecutionAttribute, so this trigger cannot fire. The trigger that is itself running reports Executing instead.

Complete = 2

Indicates that the ITrigger is in the "complete" state.

"Complete" indicates that the trigger has not remaining fire-times in its schedule. A trigger whose final execution is still in progress reports Executing until that execution finishes.

Error = 3

Indicates that the ITrigger is in the "error" state.

A ITrigger arrives at the error state when the scheduler attempts to fire it, but cannot due to an error creating and executing its related job. Often this is due to the IJob's class not existing in the classpath.

When the trigger is in the error state, the scheduler will make no attempts to fire it.

Executing = 6

Indicates that at least one execution started by this ITrigger is currently running.

Like QueryFireInstances(FireInstanceQuery, CancellationToken), and unlike anything a scheduler could answer from process-local state, this is observable across every node of a cluster when a persistent job store is used.

Execution is not mutually exclusive with being scheduled: a trigger that allows concurrent execution can be running one or more jobs and still be due to fire again. It reports "executing" until the last of those executions finishes. A paused trigger reports Paused and a trigger in the error state reports Error even while an execution is still running.

None = 5

Indicates that the ITrigger does not exist.

Normal = 0

Indicates that the ITrigger is in the "normal" state.

Paused = 1

Indicates that the ITrigger is in the "paused" state.

A paused trigger reports "paused" even while a previously started execution of its job is still running; the pause is the actionable fact, so it takes precedence over Executing.

Remarks

Both the numeric values and the member names are a wire contract. The HTTP API returns this enum as its name and accepts a state filter by name, so members must never be renamed; the numeric values are persisted by job stores and still accepted on the wire, so members must never be renumbered or reordered either. New members are appended.