当服务器关闭时,当前正在运行的石英作业会发生什么

时间:2011-12-22 07:50:24

标签: quartz-scheduler

我们有一个基于SQL的石英调度程序。有一个作业处理100k记录并运行2个小时。如果在作业仍在运行的情况下启动服务器关闭,则在重新启动服务器后是否会再次启动作业?

2 个答案:

答案 0 :(得分:3)

检查

RequestsRecovery - 如果一个作业“请求恢复”,并且它正在调度程序的“硬关闭”期间执行(即它在崩溃中运行的进程,或者机器被关闭) ,然后在再次启动调度程序时重新执行它。在这种情况下,JobExecutionContext.isRecovering()方法将返回true。

只要您拥有JDBCData存储,就可以使用。

答案 1 :(得分:1)

在使用JDBC配置属性创建Scheduler factory时,需要存储调度程序详细信息JDBC JobStore。

之后,您可以从元数据中提取它,并根据失败时间检索您的调度程序详细信息并根据您的要求恢复。

请参阅: - Quartz Scheduler using JDBC JobStore

另一种替代方法是您可以创建自己的Scheduler Listener并将其分配给调度程序。参考: - https://examples.javacodegeeks.com/enterprise-java/quartz/quartz-scheduler-tutorial/

相关问题