我使用以下方式在星期一每两周运行一次计划。
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();
但是我如何使用单一时间表在星期一和星期二运行。请指教。
答案 0 :(得分:5)
您可以使用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();
答案 1 :(得分:1)
我会用两个不同的触发器创建一个作业。每个触发器每两周(或半个月)触发一次。
答案 2 :(得分:0)
使用以下表达式安排作业在星期一和星期二的候补时间运行。
0 0 0 1-7,15-21,29-31 * 1,2 *
以下是对表达式的描述。
0 - 0秒
0 - 0th
0 - 0th hr
1-7,15-21,29-31 - 在该月的另一周
1,2 - 周一和周二