2017-02-21 9 views
-1

Я знаю, как стрелять по моей рутине каждый день в определенное время суток. вот код.C#: Как запланировать множественную рутину Quartz.net в разное время дня

IScheduler sched = null; 
//construct a scheduler factory 
ISchedulerFactory schedFact = new StdSchedulerFactory(); 

//get a scheduler 
sched = schedFact.GetScheduler(); 
sched.Start(); 

IJobDetail job = JobBuilder.Create<frmMain>() 
.WithIdentity("Job", "group") 
.Build(); 

ITrigger trigger = TriggerBuilder.Create() 
.WithDailyTimeIntervalSchedule 
(s => 
    s.WithIntervalInHours(24) 
    .OnEveryDay() 
    .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(19, 07)) 
) 
.Build(); 

sched.ScheduleJob(job, trigger); 

Предположим, теперь я в сценарии, что мне нужно запускать много процедур в разное время дня один раз.

говорят routine1 должны стрелять в 08:00, routine2 должны стрелять в 15:00 и routine2 должны стрелять в 18:00

теперь дают мне предложение, как я мог стрелять другую процедуру в разное время суток. спасибо

+1

Вы бы не только написать триггер для каждого из них? – stuartd

+0

Как я уже указывал на несколько ваших и более полных вопросов вашего и Томаса, вы можете добавить больше усилий в формулировку своего вопроса? Предложения начинаются с заглавной буквы, также «I» капитализируется на английском языке. Также прочитайте [ask] и поделитесь своими исследованиями. – CodeCaster

ответ

1

Как указано stuartd, вам нужно несколько триггеров для вашей работы (рутина2). Я также предлагаю использовать CronTrigger вместо SimpleTrigger. Вы можете легко создать CronTrigger с:

var trigger1 = TriggerBuilder.Create() 
       .WithDescription(name) 
       .WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(15, 0)) 
       .Build(); 

var trigger2 = TriggerBuilder.Create() 
       .WithDescription(name) 
       .WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(18, 0)) 
       .Build(); 

, а затем просто планировать свою работу с 2-триггеров:

sched.ScheduleJob(job, trigger1); 
sched.ScheduleJob(job, trigger2); 
+0

Мне нужно создать несколько заданий и триггер? – Mou

+0

Нет, вы просто планируете ту же работу с trigger1 и trigger2. – Rabban

+0

Я нашел эту ссылку хорошо http://stackoverflow.com/a/21550355/728750 для моего сценария. – Mou