Enum TriggerState
- Namespace
- Quartz
- Assembly
- Quartz.dll
All trigger states known to Scheduler.
public enum TriggerState
Fields
Awaiting = 7Indicates that the ITrigger is waiting, in the store, for another trigger's firing to end.
A trigger arrives here by carrying a Continuation. It is never acquired while it is awaiting, and no misfire accrues: it has no fire time to miss until the firing it waits for has ended. The parent's completion is what moves it on, inside the parent's own lock and transaction — to Normal (or Paused, if its group is) when the outcome matches the condition, and out of the store altogether when it does not.
PauseTrigger(TriggerKey, CancellationToken) refuses an awaiting trigger: there is nothing to hold back that is not already held back, and a pause would have to be undone before the parent could release it.
Blocked = 4Indicates 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 = 2Indicates 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 = 3Indicates 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 = 6Indicates 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 = 5Indicates that the ITrigger does not exist.
Normal = 0Indicates that the ITrigger is in the "normal" state.
Paused = 1Indicates 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.