在Quartz.Net中为BiWeekly作业配置CronString

时间:2012-11-24 08:27:49

标签: quartz.net cronexpression

如何为以下作业配置Quartz.Net作业调度程序的CronString:

Job应该在周一上午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

2 个答案:

答案 0 :(得分:7)

实际上你可能正在寻找的是CalenderIntervalTrigger,它能够很容易地做到这一点。

var trigger = TriggerBuilder.Create()
    .StartAt(new DateTime(2012, 11, 19, 12, 0, 0).ToUniversalTime())
    .WithCalendarIntervalSchedule(x => x.WithIntervalInWeeks(2))
    .Build();

答案 1 :(得分:0)

对于一周中的任何频率,可以按如下方式创建“cron表达式”。

int repeatInterval = 2;
int weeklyInterval = repeatInterval*7;
String cronExp="0 0 12 1/ " +weeklyInterval " * ? *";

创建一个cron表达式,每12周重复一次。

希望这有帮助。