#c_sharp #quartz
Здравствуйте.
Необходимо по регламенту опрашивать web сервер.
Регламент таков каждый день в 10:00 и 1 раз через 5 мин сразу после запуска программы.
Настроить на вызов триггера в 10:00 я смог
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger3", "group1")
.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(10, 00))
.ForJob(job)
.Build();
Но как добавить 1 сработку сразу через 5 мин после старта?
scheduler.ScheduleJob(job, trigger); // начинаем выполнение работы
Можно добавить 2 триггера.
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger", "group1")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(10)
.WithRepeatCount(1))
.Build();
ITrigger trigger2 = TriggerBuilder.Create()
.WithIdentity("trigger2", "group1")
.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(22, 04))
.ForJob(job)
.Build();
scheduler.ScheduleJob(job, trigger);
scheduler.ScheduleJob(trigger2);
scheduler.Start();
Все работает нормально, но добавляется вызов триггера сразу после старта программы.
Т.е 3 вызова: после старта, через 10 сек, и каждый день в 22:04.
Как убрать 1-ый вызов сразу после старта.
Ответы
Ответ 1
В первом тригере, вы, явно указываете запустить выполнение при запуске: .StartNow().
Комментариев нет:
Отправить комментарий