我需要在当天运行单个作业的小时数,如下所示:
["00:05", "01:42", "04:21", "17:57"]
正如你所看到的那样是任意时间,所以我不能使用Cron时间表。我一直在搜索如何为触发器添加多个小时,或者如何在同一个作业中使用多个触发器,但我还没有找到任何方法来实现此目的。
那么,如何在数组指定的时间运行相同的作业?
答案 0 :(得分:8)
有多个工作触发器是关键。
var job = JobBuilder.Create<TheJobType>()
.StoreDurably(true)
.WithIdentity("the-job-all-are-going-to-execute")
.Build();
scheduler.AddJob(job, false);
var trigger1 = TriggerBuilder.Create()
.ForJob(job)
.WithIdentity("trigger1")
.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(0, 5))
.Build();
scheduler.ScheduleJob(trigger1);
var trigger2 = TriggerBuilder.Create()
.ForJob(job)
.WithIdentity("trigger2")
.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(1, 42))
.Build();
scheduler.ScheduleJob(trigger2);
.... etc ...