2014-04-09 24 views
3

我有一個小時的陣列,當一個作業需要在當天運行,這樣的事情:Quartz.NET - 觸發在一天中的特定時段

["00:05", "01:42", "04:21", "17:57"] 

正如你所看到的是任意因此我不能使用Cron時間表。我一直在尋找如何將多個小時添加到觸發器,或者如何在同一個作業上使用多個觸發器,並且我還沒有找到任何方法來實現這一點。

那麼,我該如何在數組指定的時間運行相同的工作?

回答

5

具有多個作業觸發器是關鍵。

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 ... 
+0

謝謝!完美的作品! – mondul

相關問題