Supervisor - как перезапустить, или остановить

Supervisor - как перезапустить, или остановить

Supervisor - это важная программа, которой я пользуюсь всегда, когда дело доходит до очередей, или консольных программ, требующих постоянной работы в фоне. В прошлых статьях по настройке socket.io и очередям на PHP, как раз и пригодилась утилита - supervisor. В тех статьях была рассмотрена установка supervisor, добавление задач, редактирование. Однако, не менее важной частью считаю рассказать и том, как перезагрузить supervisor, и какие команды для этого существуют.

Как перезапустить supervisor

На самом деле, supervisor позволяет сделать перезагрузку всех процессов несколькими путями.

Для того, чтобы перезапустить все управляемые задачи, добавленные в supervisor нужно выполнить:

service supervisor restart

Для того, чтобы перезагрузить конкретный процесс:

service supervisor restart 

где <name> - имя вашей задачи, которую нужно перезагрузить
Или же, для перезагрузки всех задач:

service supervisor restart all

Эти команды выполняют перезагрузку всех ранее добавленных задач. Не меняя конфигурационные файлы.

Добавление новой задачи

Если вы создали новый конфиг, и хотите тут же его запустить. Или, если вы хотите применить новые изменения к старым конфигам, и перезапустить все задачи, то вы должны выполнить:

service supervisor stop
service supervisor start

Но, если вы не хотите перезапускать все задачи. Если вы просто хотите обновить все конфиги, то используйте эту команду, которая просканирует все команды, и обновит о них данные:

supervisorctl reread

Команда выше только обновит конфиги о задачах, но не запустит их. Для того, чтобы запустить задачи с новыми конфигурационными данными, необходимо дополнительно выполнить:

supervisorctl update

И она перезагрузит все задачи, где конфиги были изменены.

Резюме

Это дополнение к предыдущим статьям. Первая часть описана в большой статье по настройке supervisor для сокет сервера. Это лишь ввод часть того, что умеет supervisor. Потому, документация - наше всё.