2

我在我的 .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等时触发。

谢谢

4

3 回答 3

2

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

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

于 2013-05-07T19:19:32.923 回答
1

您可以使用以下触发器:

ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.WithDailyTimeIntervalSchedule(x => x.WithIntervalInMinutes(45))
.Build();
于 2013-05-07T20:20:15.750 回答
0

'/' 语法指定期间的增量,而不是重复间隔。诚然,这是一个微妙而令人困惑的差异。

在这种情况下,在 60 分钟期间只有一个可用增量(45 分钟)。第一个数字指定开始的值,在本例中为 0。因此作业只会在 1 小时和 45 分钟时触发。

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

如果您希望作业定期触发,那么您可以使用指定的SimpleTriggerQuartz repeatInterval

于 2013-05-08T09:15:22.797 回答