Quartz Job未按预期触发

时间:2013-05-07 19:08:51

标签: c# quartz-scheduler cronexpression

我在.NET应用程序中跟随 cronTrigger 表达式每45分钟启动一次此作业...

0 0/45 * * * ?

然而,它每隔15分钟然后45分钟发射一次......例如它会发射如下

  

下午2:15 3:00 pm 3:15 pm下午4:00 pm下午4:15下午5:00

我只希望它能够点燃@ 2:15,3:3,3:45,4:30 等。

由于

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

您可以使用以下触发器:

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

答案 2 :(得分:0)

'/'语法指定期间的增量而不是重复间隔。不可否认,这是一种微妙而混乱的差异。

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

如果周期可以除以多个增量,例如0/10,那么每次都会触发每个周期,例如10,20,30等等。

如果您希望定期触发作业,则可以使用指定了SimpleTrigger的Quartz repeatInterval