Struct MisfiredTriggerUpdate
- Namespace
- Quartz.Impl.AdoJobStore
- Assembly
- Quartz.dll
A single trigger's pending misfire update, as applied in a batch by UpdateMisfiredTriggers(ConnectionAndTransactionHolder, IReadOnlyList<MisfiredTriggerUpdate>, CancellationToken).
public readonly record struct MisfiredTriggerUpdate : IEquatable<MisfiredTriggerUpdate>
- Implements
- Inherited Members
Constructors
MisfiredTriggerUpdate(IOperableTrigger, StoredTriggerState, DateTimeOffset?)
A single trigger's pending misfire update, as applied in a batch by UpdateMisfiredTriggers(ConnectionAndTransactionHolder, IReadOnlyList<MisfiredTriggerUpdate>, CancellationToken).
public MisfiredTriggerUpdate(IOperableTrigger Trigger, StoredTriggerState NewState, DateTimeOffset? MisfireOriginalFireTime)
Parameters
TriggerIOperableTriggerThe trigger, after
UpdateAfterMisfirehas been applied in-memory.NewStateStoredTriggerStateThe new trigger state to persist (typically Waiting, Complete or Blocked).
MisfireOriginalFireTimeDateTimeOffset?The original scheduled fire time for "fire now" misfire policies. When non-
null, the value is written to the MISFIRE_ORIG_FIRE_TIME column.nullleaves the column unchanged, preserving any previously stored original fire time.
Properties
ExpectedNextFireTimeUtc
The fire time the row held when the misfire was decided — the occurrence that was missed — which UpdateMisfiredTriggersIfUnchanged(ConnectionAndTransactionHolder, IReadOnlyList<MisfiredTriggerUpdate>, CancellationToken) holds the write to; or null to write the row whatever it holds now, as UpdateMisfiredTriggers(ConnectionAndTransactionHolder, IReadOnlyList<MisfiredTriggerUpdate>, CancellationToken) does.
public DateTimeOffset? ExpectedNextFireTimeUtc { get; init; }
Property Value
Remarks
The misfire handler reads under TRIGGER_ACCESS, but a firing round of work that allows
concurrent execution takes no lock (#4067), so the row it read may be fired, and moved on, before
its write lands. A write held to the fire time it read finds zero rows then, which is what the
store wants: the occurrence was fired, not missed.
MisfireOriginalFireTime
The original scheduled fire time for "fire now" misfire policies. When non-null, the value is
written to the MISFIRE_ORIG_FIRE_TIME column. null leaves the column unchanged, preserving any
previously stored original fire time.
public DateTimeOffset? MisfireOriginalFireTime { get; init; }
Property Value
NewState
public StoredTriggerState NewState { get; init; }
Property Value
Trigger
The trigger, after UpdateAfterMisfire has been applied in-memory.
public IOperableTrigger Trigger { get; init; }