Table of Contents

Enum ContinuationCondition

Namespace
Quartz
Assembly
Quartz.dll

Which outcomes of a parent trigger's firing release the continuation waiting on it.

[Flags]
public enum ContinuationCondition

Fields

OnAnyOutcome = OnSuccess | OnFailure | OnCancellation | OnVeto

Every outcome the parent's firing can reach: success, failure, cancellation and veto.

The one condition a deleted parent also satisfies. A continuation waiting on a trigger somebody removed can never learn how that firing ended, so only this condition — which did not care — is released; anything narrower is parked in Error for an operator to see.

OnCancellation = 4

The parent's job was interrupted — its firing's cancellation token was signalled and the job stopped. Matches Cancelled.

OnFailure = 2

The parent's job failed, and had no retry left to take. Matches Failed.

A failure the firing's RetryPolicy answers with another attempt settles nothing, and the continuation keeps waiting until the attempts are spent or one of them succeeds. The firing is still reported as Failed — it ran and it threw — but it asks for RetryTrigger, and that is the instruction on which a store skips settling.

OnSuccess = 1

The parent's job ran to completion without throwing. Matches Succeeded, and is what After(TriggerKey, ContinuationCondition) assumes when the caller names no condition.

OnVeto = 8

A trigger listener vetoed the parent's firing, so its job never ran. Matches Vetoed.

Remarks

Flags rather than one outcome, so that "whenever it did not succeed" — OnFailure | OnCancellation — needs no member of its own. An outcome the condition does not name discards the continuation rather than leaving it waiting: a continuation settles exactly once, on the firing it was waiting for.

Persisted as the integer, in the CONTINUATION_CONDITION column of the triggers table, so the values are a storage contract: members are never renumbered and a new one is appended.

See Also