вторник, 17 сентября 2013 г.

Мониторинг delayed_job

Источник

Delayed_job используется в Фан Партии для фоновой обработки загруженных картинок. Работает замечательно, но не без греха – периодически падает гадина. Перерыл Интернет в поисках нужного рецепта, перепробовал кучу конфигураций для мониторингаdelayed_job, максимум чего добился – стали приходить уведомления по почте, если процесс delayed_job падал.
Уже было совсем отчаялся, но вчера нашёл простое и элегантное решение – теперь сервис обработки картинок сможет работать без моего участия, а мне не придётся круглосуточно мониторить сервер – этим займётся monit.
Решение с конфигурационным файлом оказалось более чем простым.
1. Итак, первым делом открываем конфигурационный файл: sudo nano /etc/monit/monitrc
2. Вставляем следующий (ваш) код для настройки мониторинга delayed_job
check process job_runner
  with pidfile [Путь к pidfile]/job_runner.pid
  start program = “/bin/su – [user_name] -c ‘/usr/bin/env RAILS_ENV=production ruby [Путь к script вашего Rails app]/script/delayed_job start’”
  stop program = “/bin/su - [user_name] -c ‘/usr/bin/env RAILS_ENV=production ruby [Путь к script вашего Rails app]/script/delayed_job stop’”
3. Сохраняем: Ctrl + X, Y
4. Перезапускаем демон monit: sudo /etc/init.d/monit restart
5. Занимаемся разработкой, вместо сисадминства.
Надеюсь вам это пригодится.

Ярлыки