Существует ли какая-либо ситуация, кроме перезапуска сервера, когда 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.  

Насколько я могу видеть в файлах журнала, сервер не перезагружается, поэтому я не знаю, почему срабатывает триггер ВОССТАНОВЛЕНИЕ, запускающий это задание (которое затем срабатывает).

Спасибо

0 ответов

Другие вопросы по тегам