繁体   English   中英

当前作业完成后关闭Quartz调度程序

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM