2012-05-28 5 views
0

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

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

Моим возможным решением для этого было бы иметь удаленный сервис, который будет запускать cron, только путем доступа к URL-адресу, который будет запускать его; Я думаю, что это было бы наиболее осуществимым на данный момент.

Мне действительно интересно узнать, какие другие решения могут быть доступны.

Спасибо за ваше время!

ответ

1

Вы можете настроить шахматные задания cron на своих 5 машинах, поэтому он запускается каждые 2,5 часа на каждой из ваших 5 машин. Вероятно, самый чистый способ сделать это - запланировать выполнение задания каждые 30 минут и само задание - это сценарий, который работает условно, в зависимости от текущего времени и того, на котором он работает.

Или, если у вас есть какая-то система планирования партий, вы можете запустить задание cron на одной системе, которая отправляет пакетное задание, позволяя системе планирования выбирать, какой сервер использовать. Это имеет то преимущество, что, если ваша пакетная система работает правильно, задание должно выполняться, если один из ваших серверов выключен. Вероятно, вам нужно будет настроить некоторые переменные среды в задании cron, чтобы он мог правильно использовать пакетную систему.

+0

Отличные точки о поражении, спасибо! – Jonathan

Смежные вопросы