Как я могу контролировать задачу rake с помощью monit?

У меня есть рейк-задача, которую я хочу выполнять вечно и во веки веков. Его работа заключается в мониторинге таблицы и обработке записей в этой таблице по мере их появления (из другой задачи rake, которую мне также нужно отслеживать).

Я уже использую monit для мониторинга рабочего процесса Sidekiq. Однако я не знаю, что поставить в запись «стоп» в файле monitrc. Единственный способ узнать, как убить задачу rake, — это использовать команду kill.

Как я могу гарантировать, что мои две задачи rake будут перезапущены, если они будут убиты или если они умрут?

Я нашел ссылку на список примеров, но ни один из них даже близко не соответствует тому, что я необходимость.


person AKWF    schedule 05.08.2013    source источник


Ответы (2)


Я нашел отличный ресурс здесь.

person AKWF    schedule 06.08.2013
comment
Ссылка, указанная здесь, теперь не работает. - person grepsedawk; 15.10.2018

Другой вариант (при использовании Ruby 1.9+) — использовать методы «Process.spawn» и «Process.daemon» для создания процессов unix и возврата их PID. Это позволит вам написать скрипт monit на ruby.

person RonanOD    schedule 05.06.2014