Работа ведется по расписанию на Application_Start():Кварц: Debug нежелательными несколько задание выполняется
var y= JobBuilder.Create<YY>()
.WithIdentity("YY")
.Build();
ITrigger z= TriggerBuilder.Create()
.WithDescription("Runs.")
.WithDailyTimeIntervalSchedule(x => x
.WithIntervalInHours(24)
.OnEveryDay()
.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(9, 30))
.InTimeZone(TimeZoneInfo.Utc))
.Build();
Scheduler.ScheduleJob(y, z);
в задании, я Logging «Работа Started» в самом начале. Работа выполнялась нормально в течение прошлых нескольких дней, но за последние 2 дня я могу видеть, что «Работа началась» 3 раза в журналах с разницей в несколько миллисекунд. То же самое происходит с почтовой программой уведомления, которая добавляется в задание.
Я подозреваю, что это связано с инструкциями по пропуску зажигания, но есть ли какой-либо подход отладки и определения причины проблемы, а также для обеспечения выполнения только одного экземпляра задания.
Это задание занимает 1-1,5 часа для выполнения, и возможно, что перезагрузка сервера и развертывание произошли во время запуска задания. Может ли это повлиять на сценарий запуска.
Я думаю, что на самом деле произошло то, что этот конкретный код выполнялся несколько раз подряд. Я не думаю, что это вопрос кварца. Скорее всего, код, запускающий этот код, запускался несколько раз. Какую версию кварца вы используете? – Nzall
Quartz version is 2.2.2 И поскольку планировщик находится в Application_Start(), я не уверен, что он может работать несколько раз. Существуют и другие задания (не долгое время), которые запланированы одинаково и работают нормально. – crazydiv
Ну, у меня была такая проблема, и это было связано с копированием пасты, когда мы добавляли новое задание, мы скопировали существующий блок определения заданий и изменили все, кроме запускаемого задания, так что новый триггер запускал существующее задание. Удостоверьтесь, что ваша проблема не что-то в этом роде! – hazimdikenli