如何为以下作业配置 Quartz.Net 作业调度程序的 CronString:
作业应在周一中午 12:00 在 BiWeekly 上运行。即它应该在每个星期一运行,但在其间跳过一周。
例子:
1st Run => 19-Nov-2012 [Monday] 12:00 AM
2nd Run => 03-Dec-2012 [Monday] 12:00 AM
3rd Run => 17-Dec-2012 [Monday] 12:00 AM
如何为以下作业配置 Quartz.Net 作业调度程序的 CronString:
作业应在周一中午 12:00 在 BiWeekly 上运行。即它应该在每个星期一运行,但在其间跳过一周。
例子:
1st Run => 19-Nov-2012 [Monday] 12:00 AM
2nd Run => 03-Dec-2012 [Monday] 12:00 AM
3rd Run => 17-Dec-2012 [Monday] 12:00 AM
实际上,您可能正在寻找的是 CalenderIntervalTrigger,它能够轻松地做到这一点。
var trigger = TriggerBuilder.Create()
.StartAt(new DateTime(2012, 11, 19, 12, 0, 0).ToUniversalTime())
.WithCalendarIntervalSchedule(x => x.WithIntervalInWeeks(2))
.Build();
可以为一周中的任何频率创建一个“cron 表达式”,如下所示。
int repeatInterval = 2;
int weeklyInterval = repeatInterval*7;
String cronExp="0 0 12 1/ " +weeklyInterval " * ? *";
创建一个每两周在 12 点重复的 cron 表达式。
希望这可以帮助。