>_ IzzyLab

Практическое задание

Держи демона живым через supervisor

сложно

systemd здесь нет (добро пожаловать в контейнеры). Демон /usr/local/bin/appd должен работать постоянно и автоматически перезапускаться, если умрёт. Настрой supervisor управлять им как программой appd.

Что потренируешь:
  • supervisor
  • supervisorctl
  • автоперезапуск процессов
  • process management
  • конфигурация демонов

Разбор темы

В контейнерах обычно нет systemd, поэтому роль «няньки», которая держит демон живым и поднимает его после падения, берёт на себя supervisor. Программа описывается отдельным .conf-файлом в /etc/supervisor/conf.d/: секция [program:ИМЯ] задаёт имя, под которым программа видна в supervisorctl, а внутри указывают, чем запускать, и включают автоперезапуск. После правки конфигов supervisor нужно поднять (через service) и заставить перечитать описания — у supervisorctl для этого есть подкоманды reread и update; статус проверяется командой status.

Что проверяется

  1. supervisor держит appd в RUNNING
  2. appd перезапускается после падения

Как это выглядит