Как перезапустить отдельные серверы в тонком кластере в приложении rails 3.1

#ruby-on-rails #thin

#ruby-on-rails #тонкий

Вопрос:

У меня настроен тонкий кластер для запуска 3 серверов:

/etc/thin/myapp.yml

 ...
wait: 30
servers: 3
daemonize: true
...
  

и я использую thin restart -C /etc/thin/myapp.yml для перезапуска. Однако я хотел бы перезапускать каждый сервер одновременно, чтобы сократить время простоя.

Есть ли способ перезапустить каждый сервер по pid номеру или местоположению, например?

Ответ №1:

Для вас есть что-то лучшее, попробуйте вариант: --onebyone

вы также можете добавить следующую строку в свой конфигурационный файл

 onebyone: true
  

после этого вы сможете перезапустить свой тонкий кластер без каких-либо простоев.

Комментарии:

1. отлично работает, спасибо. Другое дело, что вы можете увеличить wait: 30 время, если запуск вашего сервера занимает больше времени.

Ответ №2:

Я знаю, что на вопрос был дан ответ, но я хотел бы добавить эту -o опцию в микс.

Итак

 thin restart -C /etc/thin/myapp.yml -o 3000
  

Запустится только сервер, работающий на порту 3000. Если, допустим, у вас есть два других сервера, работающих на 3001 и 3002, они останутся нетронутыми.

-o также работает с командами запуска и остановки.