@happyjedi

Почему Monit создает zombie процесс ruby (Rails+Puma)?

Добрый день! Возникла проблема на production при мониторинге процессов Rails приложения c сервером Puma. Для мониторинга и автозапуска использую Monit. Он успешно запускает Puma-сервер, worker'ы запускаются, начинают отжирать ресурсы, как положенно, но затем, спустя секунд 20, worker'ы становятся zombie с нулями ресурсов, и затем пытаются снова запуститься, и всё переходит в замкнутый цикл - ресурсы есть - зомби - ресурсы есть. Соответственно приложение на запросы не отвечает. Вот скрипт для Monit в /etc/monit/conf.d/puma.monit:

check process puma with pidfile /usr/local/src/my_site/shared/tmp/puma.pid
  group puma
  start program = "/bin/su username -c 'cd /usr/local/src/my_site/current && ( RACK_ENV=production /usr/bin/env bundle exec puma -C /usr/local/src/my_site/shared/config/puma.rb --daemon )'"
  stop  program = "/bin/su username -c 'cd /usr/local/src/my_site/current && ( bundle exec pumactl -P /usr/local/src/my_site/shared/tmp/puma.pid stop)'"


OS - Linux 3.13.0-042stab111.12 (Ubuntu 14.04, x86_64, English)
Monit version 5.14

Если же делать запуск Puma вручную из консоли от user'a, то все работает прекрасно, но естественно нет мониторинга и автозапуска после ребута сервера. (cd /usr/local/src/my_site/current && ( RACK_ENV=production /usr/bin/env bundle exec puma -C /usr/local/src/my_site/shared/config/puma.rb --daemon )
Может кто-то сталкивался с такой проблемой, буду очень благодарен за совет? Курил маны, гуглил форумы очень долго - вроде настроил все верно....
  • Вопрос задан
  • 510 просмотров
Пригласить эксперта
Ответы на вопрос 1
@happyjedi Автор вопроса
Проблема с monit так и не решилась, поэтому перешел на аналогичный ему bluepill - https://github.com/bluepill-rb/bluepill
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы