supervisord
Служба запуска фоновых процессов. Реализация паттера Background Job.
Функции
- Старт
- Сигналы процессам: SIGTERM, SIGINT, SIGQUIT, SIGHUP, SIGUSR2
- Перезапуск фоновых процессов (кол-во попыток перезапуска startretries)
- по команде перезапуска службы - SIGHUP
- по ошибке
- Exit Status (Code)
- 0 - success
- <>0 - error
- Exit Status (Code)
- graceful shutdown, макс время на остановку stopwaitsecs
- SIGTERM -> приложение отвечает SIGCHLD за не более stopwaitsecs
- иначе SIGTERM -> SIGKILL
- Остановка
- CRTL-C - SIGINT
- по команде остановки - SIGTERM
- по команде принудительного завершения SIGKILL
- Возможность ограничения времени выполнения процесса?
- Subprocess State Transition Graph
- Event для мониторинга
- Приоритизация фоновых процессов - параметр priority
- Параллельный запуск инстансов приложения (worker) - параметр numprocs (process_name нужно переопределить, если numprocs>1)
Паттерны
- при изменении конф-и требуется перезапуск службы
- при изменении кода процесса требуется перезапуск фонового процесса
Observability
- logs by service, by process
- мониторинг
- superlance plugins
- on crash send email
- RAM use max size restart
- supervisorctl GUI
- RAM, CPU utilization by process
- superlance plugins