Лучший способ перезапустить/перезагрузить Gunicorn (через Upstart) после «git pull» моих проектов Django

Я ищу что-то лучшее, чем sudo restart имя_проектакаждый раз, когда я запускаю git pull origin master, который вытаскивает мой последний изменения в проекте Django.Я полагаю, что эта команда restartсвязана с Upstart, которую я использую для запуска/запуска моего серверного процесса Gunicorn.

Этот перезапуск вызывает кратковременный сбой. Пользователи, попадающие на веб-сервер (nginx), получат 500, потому что Gunicorn все еще перезапускается. На самом деле он перезапускается мгновенно, но для загрузки страниц требуется несколько секунд.

Есть идеи, как сделать это бесшовным? В идеале я хотел бы запустить git pull, и Gunicorn автоматически перезагружается.

54
задан Ben Keating 26 March 2012 в 13:34
поделиться