石英作业未按预期发射

本文关键字:发射 作业 石英 | 更新日期: 2023-09-27 18:12:26

我有以下cronTrigger表达式在我的。net应用程序中每45分钟触发此作业…

0 0/45 * * * ?

然而它每15分钟发射一次,然后是45分钟…例如,它触发如下

2:15 PM 3:00 PM 3:15 PM 4:00 PM 4:15 PM 5:00 PM

我只想让它开火@ 2:15, 3:00, 3:45, 4:30等。

谢谢

石英作业未按预期发射

当您关心在时钟或日历上的特定时间(每小时,每分钟,每天,每周等特定时间)运行的东西时,Cron触发器非常有用。

当你更关心工作之间的时间间隔(45分钟)时,你应该使用SimpleTrigger。你可以让它每45分钟重复一次。

您可以使用以下触发器:

ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.WithDailyTimeIntervalSchedule(x => x.WithIntervalInMinutes(45))
.Build();

'/'语法指定时间段内的增量,而不是重复间隔。诚然,这是一个微妙而令人困惑的区别。

在这种情况下,在60分钟的时间段内只有一个可用的增量(45分钟)。第一个数字指定起始值,在本例中为0。所以这项工作只会在整点45分钟开始。

如果周期可以除以多个增量,例如0/10,那么它将在每个时间段(例如10、20、30等分钟)分别触发。

如果您想要一个作业以固定的间隔触发,那么您可以使用指定repeatInterval的Quartz SimpleTrigger