Можете ли вы перезагрузить Rails-приложение в Passenger таким же образом, как вы можете перезагрузить одно в Unicorn? - PullRequest
4 голосов
/ 18 января 2012

С помощью Unicorn вы можете перезапустить и перезагрузить приложение Rails с помощью kill -USR2 [master process], что не приводит к немедленному завершению процесса, но запускает новый основной процесс + подчиненные процессы в фоновом режиме. Когда новый мастер будет готов, вы можете отключить старый мастер с помощью kill -QUIT. Это позволяет перезапустить ваш веб-сайт, чтобы посетители не заметили замедления обработки запросов.

Но с Passenger вы перезапускаете приложение Rails с помощью touch tmp/restart.txt, что, насколько я могу судить, приводит к тому, что приложение Rails перестает отвечать на запросы в течение нескольких секунд, необходимых для перезапуска приложения Rails.

Есть ли способ использовать Passenger, но также можно без проблем перезапустить приложение Rails?

Ответы [ 2 ]

2 голосов
/ 24 октября 2012

Повторный перезапуск доступен в Phusion Passenger Enterprise .

Это «лицензионная версия», о которой говорил Клочнер, но она не была выпущена до августа. Phusion Passenger Enterprise полностью автоматизирует повторяющиеся перезапуски (Unicorn требует некоторых ручных сценариев, чтобы перекатные перезапуски работали хорошо). Он также включает в себя множество других полезных функций, таких как устойчивость к ошибкам развертывания, действующая консоль IRB и т. Д.

1 голос
/ 18 января 2012

Нет.[теперь да - см. ответ Хонгли]

Вы запрашиваете повторные перезапуски, когда новые процессы сервера запускаются до того, как старые будут убиты.Пассажир (бесплатная версия) не будет отбрасывать запросов, но они будут помещаться в очередь и откладываться при каждом развертывании.

Повторный перезапуск предположительно уже реализован и выполняетсядоступно в лицензионной версии, но еще не выпущено для бесплатной версии.Мне не удалось понять, как получить лицензионную версию.

Следуйте этой ветке групп Google для получения дополнительной информации:

https://groups.google.com/forum/#!msg/phusion-passenger/hNvU-ZE7_WY/gOF9XWmhHy0J

Вы можете попробовать запустить дваавтономный пассажир обрабатывает и вручную сбивает одно, а другое остается, но я не думаю, что это ответ, который вы искали.

...