0%

Quartz 失火指令

Quartz 的失火指令 (MisFire)

有时,Quartz 无法在您需要的时间运行您的工作。 这有三个原因:

  • 所有工作线程都忙于运行其他作业(可能具有更高的优先级)
  • 调度程序本身已关闭
  • 该作业是在过去的开始时间安排的(可能是编码错误)

可以通过简单地在 quartz.properties 自定义 org.quartz.threadPool.threadCount (默认值为 10)来增加工作线程的数量。 但是当整个应用程序/服务器/调度程序停机时,实际上无法执行任何操作。 当 Quartz 无法触发给定的触发器时,这种情况称为不点火(失火、misfire)

SimpleTrigger 有几个指令可以用来通知 Quartz.NET 在发生失火时应该做什么。这些指令被定义为常量 MisfirePolicy.SimpleTrigger
说明包括:

SimpleTrigger 的 Misfire 指令常量

  • MisfireInstruction.IgnoreMisfirePolicy
  • MisfirePolicy.SimpleTrigger.FireNow
  • MisfirePolicy.SimpleTrigger.RescheduleNowWithExistingRepeatCount
  • MisfirePolicy.SimpleTrigger.RescheduleNowWithRemainingRepeatCount
  • MisfirePolicy.SimpleTrigger.RescheduleNextWithRemainingCount
  • MisfirePolicy.SimpleTrigger.RescheduleNextWithExistingCount

SimpleTrigger 有几个指令可以用来通知 Quartz.NET 在发生失火时应该做什么

欢迎关注我的其它发布渠道