我有一个运行 Quartz Scheduler (v1.8.6) 的 2 台服务器集群。它们共享相同的元数据数据库,并且所有作业的恢复标志都为 true。时钟是同步的(根据我们的客户)。
一些属性:
org.quartz.jobStore.misfireThreshold=60000
org.quartz.jobStore.isClustered=true
org.quartz.jobStore.clusterCheckinInterval=5000
我遇到的情况是“RECOVERING_JOBS.recover_xxx”触发器由于失火而触发作业并且该作业已经在运行,因此我最终在同一台服务器上运行了同一作业的 2 个实例。
154806091 [QuartzScheduler_xxx-xxx_MisfireHandler] ERROR 2021-03-21T04:18:25.592 com.my.site.LoggingTriggerHistoryPlugin [] - Trigger [RECOVERING_JOBS.recover_xxx011616145523933_1616300301235] misfired job [xxx_344] at: 2021/03/21 04:18:25. Should have fired at: 2021/03/21 04:00:00.
据我在日志文件中看到的,服务器没有重新启动,所以我不知道为什么有一个触发该作业的 RECOVERING 触发器(然后,失火)。
谢谢