我怎样才能在每两周的星期一和星期二运行石英计划?
我使用以下方式在星期一每两周运行一次计划。
ITrigger trigger = TriggerBuilder.Create() .StartAt(DateBuilder.DateOf(StartHour, StartMinute, StartSeconds, StartDate, StartMonth, StartYear)) .WithCalendarIntervalSchedule(x => x.WithIntervalInWeeks(Int32.Parse(nWeekInterval))) .EndAt(DateBuilder.DateOf(0, 0, 0, EndDay, EndMonth, EndYear)) .Build();
但是我如何使用单一的时间表在星期一和星期二运行。 请指教。
您可以使用DailyTimeIntervalScheduleBuilder
指定一周中的DailyTimeIntervalScheduleBuilder
var onMondayAndTuesday = DailyTimeIntervalScheduleBuilder.Create() .OnDaysOfTheWeek(new DayOfWeek[] { DayOfWeek.Monday, DayOfWeek.Tuesday }); var trigger = TriggerBuilder.Create() .StartAt(DateBuilder.DateOf(StartHour, StartMinute, StartSeconds, StartDate, StartMonth, StartYear)) .WithSchedule(onMondayAndTuesday) .WithCalendarIntervalSchedule(x => x.WithIntervalInWeeks(Int32.Parse(nWeekInterval))) .EndAt(DateBuilder.DateOf(0, 0, 0, EndDay, EndMonth, EndYear)) .WithIdentity(triggerKey) .Build();
我会创建一个有两个不同触发器的工作。 每个触发器每两周(或半个月)触发一次。
使用以下表达式安排作业在备用星期一和星期二运行。
0 0 0 1-7,15-21,29-31 * 1,2 *
以下是表达式的描述方式。
0 – 0秒
0 – 0分钟
0 – 0小时
1-7,15-21,29-31 – 在该月的另一周
- – 任何一个月
1,2 – 星期一和星期二
- – 任何一年。