Кварц. JobStoreTX. Триггер срабатывает одновременно двумя узлами

1

У меня есть два узла с теми же планировщиками Quartz. У JobStore есть единственный триггер задания, который выполняется каждые 5 секунд, и для обработки задания требуется одна секунда.

Когда я один узел вверх, все в порядке. Когда второй узел инициализирует свой кварцевый планировщик, он изменяет статус триггера ACQUIRED (на 1-й узел) WAITING, а затем "подбирает его" для выполнения (статус затем снова изменяется на ACQUIRED).

Таким образом, задание выполняется обоими узлами одновременно один раз, затем единственный узел продолжает выполнять задание (что является ожидаемым поведением). Как реализовать правильное поведение для всего кластера? Благодарю.

Теги:
quartz-scheduler

1 ответ

0
Лучший ответ

Проблема была решена с указанием различных значений для свойства " org.quartz.scheduler.instanceId " (также может использоваться значение "AUTO").

Он имел значение по умолчанию "NON_CLUSTERED", поэтому после инициализации второго узла Quartz подумал, что он повторно инициализировал неудавшийся узел, поэтому он освободил все задания, связанные с узлом, чтобы повторно их приобрести.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню