Настройте CronString для задания BiWeekly в Quartz.Net
Как настроить планировщик заданий CronString для Quartz.Net для следующих заданий:
Работа должна выполняться каждые две недели в понедельник в 12:00. то есть он должен работать каждый понедельник, но пропустить одну неделю между ними.
Пример:
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 ответа
Решение
На самом деле, вы можете искать 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 " * ? *";
Создает выражение cron, которое повторяется раз в две недели в 12 часов.
Надеюсь это поможет.