Я играю с последней версией Quartz.NET.Я использую AdoJobStore (с делегатом SqlServer-20) для хранения своих работ.Я создаю новые задания следующим образом:
JobDetail jobDetail = new JobDetail("myJob", null, typeof(HelloJob));
jobDetail.JobDataMap["dsa"] = "hello";
CronTrigger trigger = new CronTrigger("MyTrigger", null, "0/1 * * * * ?");
trigger.StartTimeUtc = TriggerUtils.GetEvenHourDate(DateTime.UtcNow.AddMonths(-3));
trigger.Name = "MyTrigger";
sched.ScheduleJob(jobDetail, trigger);
// другое задание
JobDetail jobDetail = new JobDetail("myJob_Bye", null, typeof(HelloJob));
jobDetail.JobDataMap["dsa"] = "Good Bye";
CronTrigger trigger = new CronTrigger("MyTrigger", null, "0/2 * * * * ?");
trigger.StartTimeUtc = TriggerUtils.GetEvenHourDate(DateTime.UtcNow.AddMonths(-3));
trigger.Name = "MyTrigger2";
sched.ScheduleJob(jobDetail, trigger);
Проблема в том, что когда я запускаю планировщик, он работает в течение некоторого времени (заданий, настроенных выше)и затем выдает SqlException с сообщением «Транзакция (ID процесса 53) была заблокирована для ресурсов блокировки другого процесса и была выбрана в качестве жертвы тупика. Повторите транзакцию.».Ошибка происходит в JobStoreSupport.cs, строка 4217. Похоже, что есть проблема с обработкой блокировки.У любого есть идея, как я могу решить эту проблему.
PS Эта кварцевая сборка - моя сборка, с которой я играю.Я только что изменил имена таблиц и столбцов в AdoConstants.cs и соответствующем файле .sql.
Спасибо за вашу поддержку