我正在尝试删除所有已过期的触发器,因为Quartz.NET在遇到永远不会被触发的触发器时崩溃。所以我想知道我的触发器的下一个开火时间,如果它们没有,那么它们已经过期,应该被删除。
但是现在我发现,即使是未来的触发器,也会在下一次发射时返回null
:
string expression = "0 26 13 17 10 ? 2015";
DateTimeOffset? nextFireTimeUtc = TriggerBuilder.Create().WithCronSchedule(expression).Build().GetNextFireTimeUtc();
可以看出我的cron表达式是针对2015年的。但nextFireTimeUtc
返回null
。
答案 0 :(得分:3)
我自己也碰到了这个。每Trigger.GetNextFireTimeUtc Method,“在将触发器添加到调度程序之后,返回的值不保证有效。”
因此,请确保在执行`GetNextFireTimeUtc()'之前调用ScheduleJob(...)
。