Quartz.net StartNow() 被 DailyAtHourAndMinute() 忽略
Quartz.net StartNow() ignored with DailyAtHourAndMinute()
DailyAtHourAndMinute()
有效,但为什么 StartNow()
被忽略?
TriggerBuilder.Create().WithIdentity("engineTriggerII", engineGroup).StartNow().WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(0, 0)).Build();
版本 2.3.3.0
这是预期的行为。
您要让触发器每天午夜触发,所以它现在永远不会触发...除非您 运行在午夜触发它。
我想您必须创建 2 个触发器才能实现您想要的效果。
您可以使用以下代码检查触发器安排在 运行 的时间:
private static void GetNextXFireTimes(ITrigger trigger, int counts)
{
var dt = trigger.GetNextFireTimeUtc();
for (int i = 0; i < (counts-1); i++)
{
if (dt == null)
{
break;
}
Console.WriteLine(dt.Value.ToLocalTime());
dt = trigger.GetFireTimeAfter(dt);
}
}
您可以在安排工作后调用它:
Scheduler.ScheduleJob(job, trigger);
GetNextXFireTimes(trigger, 100);
你应该会看到类似这样的内容:
18/09/2015 00:00:00 +01:00
19/09/2015 00:00:00 +01:00
20/09/2015 00:00:00 +01:00
21/09/2015 00:00:00 +01:00
22/09/2015 00:00:00 +01:00
23/09/2015 00:00:00 +01:00
24/09/2015 00:00:00 +01:00
25/09/2015 00:00:00 +01:00
26/09/2015 00:00:00 +01:00
27/09/2015 00:00:00 +01:00
28/09/2015 00:00:00 +01:00
29/09/2015 00:00:00 +01:00
30/09/2015 00:00:00 +01:00
01/10/2015 00:00:00 +01:00
DailyAtHourAndMinute()
有效,但为什么 StartNow()
被忽略?
TriggerBuilder.Create().WithIdentity("engineTriggerII", engineGroup).StartNow().WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(0, 0)).Build();
版本 2.3.3.0
这是预期的行为。
您要让触发器每天午夜触发,所以它现在永远不会触发...除非您 运行在午夜触发它。
我想您必须创建 2 个触发器才能实现您想要的效果。
您可以使用以下代码检查触发器安排在 运行 的时间:
private static void GetNextXFireTimes(ITrigger trigger, int counts)
{
var dt = trigger.GetNextFireTimeUtc();
for (int i = 0; i < (counts-1); i++)
{
if (dt == null)
{
break;
}
Console.WriteLine(dt.Value.ToLocalTime());
dt = trigger.GetFireTimeAfter(dt);
}
}
您可以在安排工作后调用它:
Scheduler.ScheduleJob(job, trigger);
GetNextXFireTimes(trigger, 100);
你应该会看到类似这样的内容:
18/09/2015 00:00:00 +01:00
19/09/2015 00:00:00 +01:00
20/09/2015 00:00:00 +01:00
21/09/2015 00:00:00 +01:00
22/09/2015 00:00:00 +01:00
23/09/2015 00:00:00 +01:00
24/09/2015 00:00:00 +01:00
25/09/2015 00:00:00 +01:00
26/09/2015 00:00:00 +01:00
27/09/2015 00:00:00 +01:00
28/09/2015 00:00:00 +01:00
29/09/2015 00:00:00 +01:00
30/09/2015 00:00:00 +01:00
01/10/2015 00:00:00 +01:00