Запланируйте запуск camel timer на 2 серверах одновременно

#apache-camel

#apache-camel

Вопрос:

У меня есть требование, при котором мое задание приложения должно запускаться каждые 10 минут, которое я настроил с помощью camel timer. Теперь проблема в том, что этот пакет запущен на двух разных серверах, и оба запускаются в одно и то же время .. есть ли способ управлять таймером на обоих серверах, чтобы он не запускался одновременно и делал это периодически?

Комментарии:

1. Известно ли вам о главной конечной точке Camel ?

Ответ №1:

Очень минималистичным, но часто достаточным решением было бы использовать delay опцию (для установки начальной задержки перед первым запуском) Camel Timer.

Рассчитайте случайную начальную задержку при запуске в соответствии с вашим периодом. В вашем случае случайная задержка от 0 до 10 минут и установите ее как задержку.

Однако, если «не повезет», они все равно могут запускаться очень близко друг к другу.

Ответ №2:

Будет эффективнее использовать Camel Quartz вместо Camel Timer в решении burki, маска cron будет более эффективной. Для надежного решения вам следует обратить внимание на идемпотентность, но для настройки требуется время.