Как динамически управлять и изолировать несколько экземпляров одного и того же рабочего сценария PythonPython

Программы на Python
Ответить
Anonymous
 Как динамически управлять и изолировать несколько экземпляров одного и того же рабочего сценария Python

Сообщение Anonymous »

В настоящее время я запускаю несколько сценариев Python на сервере Linux. Эти сценарии взаимодействуют с внешними аппаратными устройствами.
Сейчас у меня работает 4 экземпляра. Базовый код Python для всех них одинаков; единственное отличие — это переменные среды, используемые для установления соединений (целевой IP-адрес, имя устройства и т. д.). В настоящее время я управляю ими, вручную создавая отдельные файлы systemd .service для каждого экземпляра.
Поскольку я готовлюсь к масштабированию для работы с большим количеством устройств, я хочу перейти к рабочему процессу более производственного уровня. Вот мои конкретные цели и ограничения:
  • Отказ от ручной настройки: Я хочу прекратить вручную копировать и редактировать сценарии или файлы .service каждый раз, когда добавляю новое устройство. Мне нужен способ шаблонизировать развертывания на основе файла конфигурации или переменных среды.
  • Ресурсоэффективная изоляция: Я хочу сохранить логически изолированные процессы, но хочу избегать использования Docker, если это означает одновременный запуск более 10 изолированных контейнеров только для выполнения одного и того же сценария. Я ищу динамический способ масштабирования этих рабочих процессов без затрат на контейнеризацию 1:1.
  • Систематическое ведение журнала: В настоящее время мне приходится проверять журналы Journalctl для каждого отдельного сервиса. Мне нужен производственный способ систематического агрегирования и просмотра журналов всех запущенных экземпляров.
Какова стандартная архитектура или набор инструментов для решения этой конкретной проблемы? Стоит ли мне смотреть шаблоны systemd (

Код: Выделить всё

@.service
), рефакторинг сценария на асинхронную модель с единым унифицированным менеджером или использование конкретного менеджера процессов?

Подробнее здесь: https://stackoverflow.com/questions/798 ... -script-dy
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»