Triggers Quartz.NET-在一天中的特定时间触发

Triggers Quartz.NET-在一天中的特定时间触发,triggers,quartz.net,Triggers,Quartz.net,我有一个小时数组,当一个作业需要在当天运行时,如下所示: ["00:05", "01:42", "04:21", "17:57"] 正如您所看到的,时间是任意的,所以我不能使用Cron时间表。我一直在研究如何在一个触发器上添加多个小时,或者如何在同一个工作中使用多个触发器,但我没有找到任何方法来实现这一点 那么,如何在数组指定的时间运行同一个作业呢?关键在于为作业提供多个触发器 var job = JobBuilder.Create<TheJobType>() .Store

我有一个小时数组,当一个作业需要在当天运行时,如下所示:

["00:05", "01:42", "04:21", "17:57"]
正如您所看到的,时间是任意的,所以我不能使用Cron时间表。我一直在研究如何在一个触发器上添加多个小时,或者如何在同一个工作中使用多个触发器,但我没有找到任何方法来实现这一点


那么,如何在数组指定的时间运行同一个作业呢?

关键在于为作业提供多个触发器

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 ...
var job=JobBuilder.Create()
.可存储(真实)
.WithIdentity(“所有作业都将执行”)
.Build();
scheduler.AddJob(job,false);
var trigger1=TriggerBuilder.Create()
.ForJob(job)
.WithIdentity(“触发器1”)
.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(0,5))
.Build();
ScheduleJob(trigger1);
var trigger2=TriggerBuilder.Create()
.ForJob(job)
.WithIdentity(“触发器2”)
.with schedule(CronScheduleBuilder.DailyAtHourAndMinute(1,42))
.Build();
ScheduleJob(trigger2);
.... 等