Лучший способ программно управлять жизненным циклом нескольких процессов? - PullRequest
0 голосов
/ 27 января 2020

Прежде всего, возможно, я неправильно сформулировал вопрос и теги - пожалуйста, не стесняйтесь редактировать!

Я создаю приложение, которое включает несколько различных процессов и веб-серверов. Допустим, у меня есть:

  1. Сервер БД
  2. Сервер Redis
  3. Веб-сервер A
  4. Веб-сервер B
  5. Рабочий процесс

Я хочу управлять этими процессами двумя способами:

  1. Запустить и остановить их в определенной последовательности (например, Redis должен быть запущен до процесса Worker)
  2. Удаленный (программно) запуск и остановка веб-сервера B и любых его зависимостей.

Мне пока не нужно распределять их по разным серверам - все они могут находиться на одном большом machine.

Существует ли стандартное для этого решение?

Я рассмотрел модуль python subprocess (кажется слишком низким уровнем) или Docker (похоже перегиб). Интересно, есть ли лучшее решение ...

...