0
我正在Quartz中使用Windows服務中的作業調度。當服務停止或用戶更改作業的運行頻率時,我需要關閉調度程序。因爲我想等待執行的工作,我用當前作業完成後關閉石英調度程序
scheduler.Shutdown(true);
我在這兩種情況下得到異常:
Quartz.UnableToInterruptJobException:招聘「myJob」不能是 中斷,因爲它不執行Quartz.IInterruptable工作
正在運行的服務不能停止,這是非常糟糕的。
但是工作中斷意味着不等待工作完成?那麼,不是我想要的?雖然它會解決當前的異常問題。
什麼是正確的實現不會導致shutdown
崩潰?
如果我真的需要實施IInterruptableJob,這是如何完成的?我沒有找到關於這個的教程,我真的不想做任何不同於標準關機的東西。我使用的是標準的調度工廠調度創造:
schedulerFactory = new StdSchedulerFactory();
scheduler = schedulerFactory.GetScheduler();