Table of Contents

Enum DefaultMisfireHandling

Namespace
Quartz
Assembly
Quartz.dll

The misfire instruction a scheduler gives every trigger whose own instruction nobody stated, in a vocabulary every trigger family shares.

public enum DefaultMisfireHandling

Fields

DoNothing = 3

Skip the missed firings and wait for the next scheduled one.

FireAndProceed = 2

Fire once now, then go on with the schedule.

IgnoreMisfires = 1

Never evaluate the trigger for a misfire: fire it as soon as it can, and once for every firing it missed.

SmartPolicy = 0

The family's smart policy, which is what every trigger did before there was a default.

Remarks

Instruction codes are per family — 1 is FireNow to a simple trigger and FireAndProceed to a cron one — so the default is stated here and mapped to each family's own instruction when a trigger is scheduled:

DefaultSimple; cron, calendar-interval, daily-time-interval and recurrence
SmartPolicySmartPolicy; SmartPolicy
IgnoreMisfiresIgnoreMisfires; IgnoreMisfires
FireAndProceedFireNow; FireAndProceed
DoNothingNextWithRemainingCount; DoNothing

A simple trigger has no exact match for the last two. FireNow fires once now, and on a repeating trigger re-anchors the remaining repeats at now, which is NowWithRemainingCount. NextWithRemainingCount waits for the next scheduled time and counts the missed firings as fired, so the series still ends where it would have; a one-shot trigger that misfires under it never fires. A trigger type of your own is in none of the families and keeps its own smart policy.

Only an unstated instruction takes the default. Every WithMisfireInstruction, every assignment of MisfireInstructionCode, a trigger read from a job store or deserialized, the MisfireInstruction of a [CronTrigger] or [SimpleTrigger] and of the JSON schedule all state it — SmartPolicy included, which then stays the smart policy. The default is resolved when ScheduleJob, ScheduleJobs, ScheduleTrigger or RescheduleJob stores the trigger, so the stored instruction is always explicit and an older node reads the same number.

See Also