Quartz.net 如何在触发器上设置 MisfireInstruction
Quartz.net How to set MisfireInstruction on trigger
在 Quartz 1.0.x 中,可以通过简单地设置触发器来设置 MisfireInstruction:
trigger.MisfireInstruction = MisfireInstruction.CronTrigger.DoNothing;
我们将 Quartz 版本升级到 2.3.2,不能再这样设置了,因为 trigger.MisfireInstruction
已经没有 setter了。
现在如何在触发器上设置 MisfireInstruction?
我试着用这样的 TriggerBuilder 重新创建触发器:
trigger = trigger.GetTriggerBuilder()...
但我在 TriggerBuilder 上也找不到 MisfireInstruction-Method。
感谢您的帮助
我猜这个行为在版本 2 中发生了变化。
MisfireInstruction
现在是只读的 属性,它是使用构建器设置的,如您在 codebase.
中所见
现在您可以使用 TriggerBuilder
设置 MisfireInstruction
:
ITrigger myTrigger = TriggerBuilder
.Create()
.WithIdentity("trigger1", "myGroup")
.WithCronSchedule("0 0 12 1/5 * ? *", x => x.WithMisfireHandlingInstructionDoNothing())
.Build();
您可以使用几个选项:
您可以使用这些选项:
- WithMisfireHandlingInstructionDoNothing
- WithMisfireHandlingInstructionFireAndProceed
- WithMisfireHandlingInstructionIgnoreMisfires
可以找到一篇解释得很好的好文章here。
在 Quartz 1.0.x 中,可以通过简单地设置触发器来设置 MisfireInstruction:
trigger.MisfireInstruction = MisfireInstruction.CronTrigger.DoNothing;
我们将 Quartz 版本升级到 2.3.2,不能再这样设置了,因为 trigger.MisfireInstruction
已经没有 setter了。
现在如何在触发器上设置 MisfireInstruction?
我试着用这样的 TriggerBuilder 重新创建触发器:
trigger = trigger.GetTriggerBuilder()...
但我在 TriggerBuilder 上也找不到 MisfireInstruction-Method。
感谢您的帮助
我猜这个行为在版本 2 中发生了变化。
MisfireInstruction
现在是只读的 属性,它是使用构建器设置的,如您在 codebase.
现在您可以使用 TriggerBuilder
设置 MisfireInstruction
:
ITrigger myTrigger = TriggerBuilder
.Create()
.WithIdentity("trigger1", "myGroup")
.WithCronSchedule("0 0 12 1/5 * ? *", x => x.WithMisfireHandlingInstructionDoNothing())
.Build();
您可以使用几个选项:
您可以使用这些选项:
- WithMisfireHandlingInstructionDoNothing
- WithMisfireHandlingInstructionFireAndProceed
- WithMisfireHandlingInstructionIgnoreMisfires
可以找到一篇解释得很好的好文章here。