Supervisord: перезапуск и перезагрузка (обновление настроек)

Supervisord - отличный сервис для управления процессами приложений. Однако, у него нет возможности перегружать настройки, а перезапуск работает совсем не так, как мы привыкли. Рассмотрим доступные команды и результат их выполнения.

1. Перезапускаект сервис supervisor не применяя изменений в конфигурации. Все управляемые приложения просто останавливаются и запускаются снова.

service supervisor restart

2. Перезапускает приложение не применяя изменений в настройках. Выбранное приложение останавливается и снова запускается.

supervisorctl restart app-name

3. Если вы изменили или добавили новый раздел с настройками supervisord, ни одна из перечисленных выше команд не сделает изменения доступными. Если вам нужно применить изменения (как у существующих настроек, так и у вновь созданных), запустить новые (добавленные в новых настройках) приложения и перезапустить все остальные приложения, необходимо выполнить

service supervisor stop
service supervisor start

4. Если вы не хотите перезапускать все приложения, но вам нужно применить изменения в настройках, используйте следующую команду:

supervisorctl restart app-name

5. Следующая команда только обновляет изменившиеся настройки. Приложения при этом не перезапускаются, даже если их затронули изменения. Аналогично, новые приложения остаются недоступными для запуска.

supervisorctl reread

6. Перезапускает приложения, настройки которых были изменены. Однако, после выполнения этой команды, новые (добавленные) приложения становятся доступными для запуска, но не стартуют автоматически до перезапуска сервиса supervisord или всей операционной системы, даже если опция autostart активна.

supervisorctl update

7. Для того, чтобы запустить новое приложение, скажем new_app, нужно выполнить следующую команду:

supervisorctl start new_app

Источник