不要重新安排Quartz有状态的工作

时间:2018-03-26 09:56:08

标签: quartz-scheduler

我有一个Quartz v1.x有状态的工作。重复间隔比如说1分钟。工作本身通常会在一秒钟内终止,但可能会持续很长时间,比方说5分钟。调度程序可以防止并行运行,但是当长时间运行的作业完成时,它会一次又一次地重新启动它们,这些在长时间运行的作业中会被丢失。在此示例中,将在长时间执行完成后立即安排其他5个运行。我想要的是让调度程序“忘记”错过的开始。例如。如果一份工作在12:00开始并在12:05结束,那么只需在12:01,12:02,12:03,12:04省略运行,并根据确切的结束,甚至12:05。这有可能吗?

我需要有状态的工作来防止并行执行。具有适当注释的无状态作业不是一种选择,因为我们使用的是Quartz版本1.x.我已经尝试过使用失火政策(例如MISFIRE_INSTRUCTION_DO_NOTHING),但似乎这些并非针对此类情况。有谁可以帮助我?

0 个答案:

没有答案