Как запланировать кварцевую работу на всех «рабочих»? - PullRequest
1 голос
/ 21 марта 2012

Итак, у меня установлена ​​кварцевая установка с использованием JDBCJobStore, в которой работает несколько рабочих tomcat.Есть ли способ запланировать выполнение задания для всех работников при каждом запуске?

Кажется, что это будет стандартный запрос, я чувствую, что просто не знаю, что искать.

Ответы [ 2 ]

2 голосов
/ 22 марта 2012

К сожалению, это не то, как работает кластерный Кварц. Как вы, вероятно, знаете, задание всегда выполняется на одной машине, а сам Кварц решает, какую из них следует выполнить.

Я полагаю, что самый простой способ добиться того, чего вы хотите, это иметь отдельный некластеризованный Scheduler, работающий независимо на каждом работнике Tomcat. Таким образом, каждый планировщик будет запускать одно и то же задание отдельно.

0 голосов
/ 02 февраля 2015

Еще одна возможность - создать несколько экземпляров запланированного задания, например, используя идентификатор группы, включающий имя хоста, при регистрации задания с помощью кварцевого планировщика.Таким образом, у каждой машины в кластере будет свой уникальный экземпляр запланированного задания, которое он будет выполнять, и только он будет запускаться при срабатывании триггера.Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...