Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

supervisord

Служба запуска фоновых процессов. Реализация паттера Background Job.

Функции

  • Старт
  • Сигналы процессам: SIGTERM, SIGINT, SIGQUIT, SIGHUP, SIGUSR2
  • Перезапуск фоновых процессов (кол-во попыток перезапуска startretries)
    • по команде перезапуска службы - SIGHUP
    • по ошибке
    • 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