GetNextFireTimeUtc() 返回 null 而触发器发生在未来

dis*_*kid 2 c# cron job-scheduling quartz.net

我试图删除所有已过期的触发器,因为 Quartz.NET 在遇到永远不会被触发的触发器时崩溃。所以我想知道我的触发器的下一次触发时间,如果它们没有,那么它们已经过期并且应该被删除。但是现在我看到即使是将来的触发器也会null在下一次触发时间返回 a :

string expression = "0 26 13 17 10 ? 2015";
DateTimeOffset? nextFireTimeUtc = TriggerBuilder.Create().WithCronSchedule(expression).Build().GetNextFireTimeUtc();
Run Code Online (Sandbox Code Playgroud)

可以看出我的 cron 表达式是 2015 年的。但是nextFireTimeUtc返回null.

Mat*_*att 5

我自己就遇到了这个。根据Trigger.GetNextFireTimeUtc 方法,“在将触发器添加到调度程序之前,不能保证返回的值是有效的。”

因此,请确保ScheduleJob(...)在执行`GetNextFireTimeUtc()' 之前调用。