0
我在玩最新版本的Quartz.NET。我使用AdoJobStore(使用SqlServer-20委託)來存儲我的作業。我創造新的就業機會是這樣的:Quartz.NET和死鎖
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行。看起來像鎖處理存在問題。任何人有任何想法我怎麼能解決這個問題。
P.S.這個石英裝配是我正在玩的我的定製版本。我只是在AdoConstants.cs和相應的.sql文件中更改了表名和列名。
感謝您的支持
你是否將QRTZ_表列從varchar切換到nvarchar來解決這個問題?另外,當你說最新版本時,你心目中的版本是什麼? –