Как перезапустить Rails под Mongrel без остановки и запуска Mongrel

Есть ли способ перезапустить приложение Rails (например, когда вы изменили файл плагина / конфигурации) во время работы Mongrel. Или, как вариант, быстро перезапустите Mongrel. Монгрел намекает, что можно, но как это сделать?

** Сигналы готовы. СРОК => стоп. USR2 => перезагрузить. INT => стоп (без перезапуска).

** Сигналы Rails зарегистрированы. HUP => перезагрузить (без перезапуска). Это может не сработать.


person DEfusion    schedule 16.09.2008    source источник


Ответы (4)


Вы можете добавить опцию -c, если конфигурация кластера вашего приложения находится в другом месте:

mongrel_rails cluster::restart -c /path/to/config
person Lucas Oman    schedule 16.09.2008

1-й обнаружите текущий путь pid pid с чем-то вроде:

> ps axf | fgrep дворняга

вы увидите такую ​​технологическую линию:

ruby ​​/usr/lib64/ruby/gems/1.8/gems/swiftiply-0.6.1.1/bin/mongrel_rails start -p 3000 -a 0.0.0.0 -e development -P / home / xxyyzz / rails / myappname / tmp /pids/mongrel.pid -d

Возьмите часть '-P /home/xxyyzz/rails/myappname/tmp/pids/mongrel.pid' и используйте ее следующим образом:

> mongrel_rails перезапуск -P /home/xxyyzz/rails/myappname/tmp/pids/mongrel.pid

Отправка USR2 в Mongrel по PID 18481 ... Готово.

Я использую это, чтобы избавиться от ужасной проблемы "Сломанный канал" к MySQL.

person Mike Berrow    schedule 18.09.2008
comment
Спасибо, это действительно нам помогло. - person codeulike; 06.12.2010

в вашем домашнем каталоге rails

mongrel_rails cluster::restart
person TonyLa    schedule 16.09.2008

Например,

killall -USR2 mongrel_rails
person Jan Krüger    schedule 16.09.2008