Случается страшное неприятное: падает процесс, поддерживающий работоспособность
вашего приложения и перестаёт ходить почта, обновляться данные и много чего ещё.
Узнаёте вы об этом из вопросов ваших пользователей, большая часть которых сводится
к фразе “почему, собственно?” Это если опустить все остальные, нецензурные слова.
Но, думаете вы себе, я же всё настроил, сказал bluepill
, что вот мои процессы,
запускай их так-то и если процесс умер, запускай его снова? Возможно, что так
оно и есть, но процесс падает и не перезапускается. Так тоже бывает.
Что делать в этой ситуации? Первое, очевидное решение, которое мне в голову
пришло гораздо позже, чем должно было, посмотреть лог bluepill
.
Там бывает много интересного, например сообщение о том, что приложение
слишком долго стартует и, возможно, оно не демонизировано.
Итак, что можно попробовать, в порядке убывания очевидности:
- Посмотреть статус процессов запущенных от лица bluepill, командой
bluepill status
– если обнаружены процессы со статусомunmonitored
– это то самое, что мы и будем пытаться исправить дальше - Добавить в dsl-блок соответствующих процессов вызов
daemonize!
если он ещё не там. Это бывает, сам видел - Если и после этого в логе пишется (дальше вольный перевод с английского) “Задача слишком долго стартует. Не буду её мониторить”, попробуйте добавить
start_grace_time 30.seconds
. Количество секунд варьируется по запросам запускаемого приложения. Чтобы примерно прикинуть, сколько потребуется, запустите приложение ручками и умножьте время запуска на полтора - Ещё раз посмотрите, что там в логах, проверьте статус, может уже всё хорошо
- Вы, кстати, перезагружали
bluepill
после каждого изменения конфигурации? Если нет, самое время попробовать. Между прочим: командаbluepill stop
и последующаяbluepill start
не приводят к перечитыванию конфигурации. Рекомендуюbluepill quit
иbluepill load /path/to/config_file
.
Примерно этот список рекомендаций позволил бы мне сократить время копания
в гугле и попыток “заставить всё работать” примерно с часа до минут десяти,
или даже пяти :) Удачи.