#c# #cron #quartz.net
#c# #cron #quartz.net
Вопрос:
кто-нибудь знает, возможно ли следующее с расписанием cron или другим типом расписания?
Интервал в минутах 5 ежедневно между 1: 30 и 23:00 Каждый второй день
Я попробовал DailyIntervalSchedule, которое приближается, но без предложения every second day. Я также пробовал cron, но потерпел неудачу из-за ежедневного интервала между 1: 30 и 23:00.
Любая помощь действительно ценится. Спасибо T4E
Ответ №1:
Я надеюсь, что метод, который я описываю сейчас, может вам помочь. Вы должны определить два триггера. Эти триггеры должны быть запланированы с одним и тем же заданием.
// construct a scheduler factory
IScheduler sched = StdSchedulerFactory.GetDefaultScheduler();
// define the job and tie it to our HelloJob class
IJobDetail job = JobBuilder.Create<HelloJob>().StoreDurably()
.WithIdentity("myJob", "group1") // name "myJob", group "group1"
.Build();
sched.AddJob(job,true);
string cron = "0 0/5 2-23 1/2 * ?"; // interval in minutes 5 2h00 and 23h00 every second day
string cron1 = "0 30,35,40,45,50,55 1 1/2 * ?"; // 1h30 every second day
// Trigger the job to run now, and then every 40 seconds
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger", "group1")
.StartNow()
.WithCronSchedule(cron)
.ForJob(job)
.Build();
ITrigger trigger1 = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.StartNow()
.WithCronSchedule(cron1)
.ForJob(job)
.Build();
// Tell quartz to schedule the job using our trigger
sched.ScheduleJob(trigger);
sched.ScheduleJob(trigger1);
sched.Start();