Cron 在 resume 后立即触发
Cron triggers fires immediately after resume
我正在使用如下语句将触发器添加到我的 Quartz.NET
调度程序:
ITrigger t = (ICronTrigger)TriggerBuilder.Create()
.WithIdentity(triggerName, triggerGroup)
.WithCronSchedule(cron)
.Build();
比如说,cron 表达式每 3 分钟触发一次:
0 0/3 * 1/1 * ? *
在我的程序中,用户可以 Pause
和 Resume
已使用上述时间表安排的作业。
我看到的是,每次恢复暂停作业时,该作业都会在恢复后立即执行一次。这让我开始担心。这种行为是正常的还是有办法避免这种情况?
这是由于政策失误造成的。触发器错过了它的触发时间,被认为是 misfired 然后根据 misfire 策略采取行动。
您可以在创建触发器时调整触发器失火策略。请参阅教程以获取更多信息。
http://www.quartz-scheduler.net/documentation/quartz-2.x/tutorial/more-about-triggers.html
http://www.quartz-scheduler.net/documentation/quartz-2.x/tutorial/crontriggers.html
我正在使用如下语句将触发器添加到我的 Quartz.NET
调度程序:
ITrigger t = (ICronTrigger)TriggerBuilder.Create()
.WithIdentity(triggerName, triggerGroup)
.WithCronSchedule(cron)
.Build();
比如说,cron 表达式每 3 分钟触发一次:
0 0/3 * 1/1 * ? *
在我的程序中,用户可以 Pause
和 Resume
已使用上述时间表安排的作业。
我看到的是,每次恢复暂停作业时,该作业都会在恢复后立即执行一次。这让我开始担心。这种行为是正常的还是有办法避免这种情况?
这是由于政策失误造成的。触发器错过了它的触发时间,被认为是 misfired 然后根据 misfire 策略采取行动。
您可以在创建触发器时调整触发器失火策略。请参阅教程以获取更多信息。
http://www.quartz-scheduler.net/documentation/quartz-2.x/tutorial/more-about-triggers.html
http://www.quartz-scheduler.net/documentation/quartz-2.x/tutorial/crontriggers.html