[英]Shutdown Quartz scheduler after current jobs complete
我在Windows服务中使用Quartz进行作业调度。 服务停止或用户更改作业运行频率时,我需要关闭调度程序。 因为我想等待正在执行的作业,所以我使用
scheduler.Shutdown(true);
在这两种情况下,我都有例外:
Quartz.UnableToInterruptJobException:无法中断作业“ myJob”,因为它未实现Quartz.IInterruptableJob
无法停止正在运行的服务,这非常糟糕。
但是工作中断意味着不等待工作完成吗? 所以,不是我想要的吗? 虽然它可以解决当前的异常问题。
什么是不会导致shutdown
崩溃的正确实现?
如果我真的需要实现IInterruptableJob,该怎么做? 我没有找到有关此的教程,并且我真的不想做与标准关机不同的任何事情。 我正在使用标准调度程序工厂进行调度程序创建:
schedulerFactory = new StdSchedulerFactory();
scheduler = schedulerFactory.GetScheduler();
我找到了如何中断工作的方法...我只需要实现IInteruptableJob
接口,而interrupt
方法却什么也不做。 这篇文章对我有很大帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.