我在我的 .NET 应用程序中遵循cronTrigger表达式,每 45 分钟触发一次这项工作......
0 0/45 * * * ?
然而,它每 15 分钟和 45 分钟触发一次……例如,它触发如下
下午 2:15 下午 3:00 下午 3:15 下午 4:00 下午 4:15 下午 5:00
我只希望它在2:15、3:00、3:45、4:30等时触发。
谢谢
我在我的 .NET 应用程序中遵循cronTrigger表达式,每 45 分钟触发一次这项工作......
0 0/45 * * * ?
然而,它每 15 分钟和 45 分钟触发一次……例如,它触发如下
下午 2:15 下午 3:00 下午 3:15 下午 4:00 下午 4:15 下午 5:00
我只希望它在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。因此作业只会在 1 小时和 45 分钟时触发。
如果可以将周期除以多个增量,例如 0/10,那么它将在每个时间触发,例如在 10、20、30 等分钟。
如果您希望作业定期触发,那么您可以使用指定的SimpleTrigger
Quartz repeatInterval
。