Table of Contents

Struct MisfiredTriggerUpdate

Namespace
Quartz.Impl.AdoJobStore
Assembly
Quartz.dll
public readonly record struct MisfiredTriggerUpdate : IEquatable<MisfiredTriggerUpdate>
Implements
Inherited Members

Constructors

MisfiredTriggerUpdate(IOperableTrigger, StoredTriggerState, DateTimeOffset?)

public MisfiredTriggerUpdate(IOperableTrigger Trigger, StoredTriggerState NewState, DateTimeOffset? MisfireOriginalFireTime)

Parameters

Trigger IOperableTrigger

The trigger, after UpdateAfterMisfire has been applied in-memory.

NewState StoredTriggerState

The new trigger state to persist (typically Waiting, Complete or Blocked).

MisfireOriginalFireTime DateTimeOffset?

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.

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

DateTimeOffset?

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

DateTimeOffset?

NewState

The new trigger state to persist (typically Waiting, Complete or Blocked).

public StoredTriggerState NewState { get; init; }

Property Value

StoredTriggerState

Trigger

The trigger, after UpdateAfterMisfire has been applied in-memory.

public IOperableTrigger Trigger { get; init; }

Property Value

IOperableTrigger