Существует ли какая-либо ситуация, кроме перезапуска сервера, когда Quartz запускает задание с триггером «RECOVERING_JOBS.recover_»?
У меня есть кластер из 2 серверов с Quartz Scheduler (v1.8.6). Они используют одну и ту же базу данных метаданных, и у всех заданий флаг восстановления равен 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.
Насколько я могу видеть в файлах журнала, сервер не перезагружается, поэтому я не знаю, почему срабатывает триггер ВОССТАНОВЛЕНИЕ, запускающий это задание (которое затем срабатывает).
Спасибо