Как правильно запускать несколько экземпляров приложения Python с внешней конфигурацией?
Что есть: приложение на Python с Selenium, механизм работы настраивается в отдельном файле .json, в котором указываются нужные шаблоны работы и методы. Есть небольшая админка, которая генерирует этот самый конфиг .json
Что необходимо: после конфигурации иметь возможность запускать/останавливать/перезапускать/редактировать несколько экземпляров приложения.
Все, что более менее подходящее нашел в интернете - это docker.
Я правильно понимаю, что с ним я создаю "родительский" образ системы вместе с нужным мне приложением/библиотека, после чего могу сколько угодно копировать и запускать их?
Только одно - не особо понимаю механику взаимодействия с контейнером - я могу подключиться к контейнеру, что-бы просмотреть, к примеру вывод консоли, лог, или изменить конфигурационный файл?
Если есть какие-то другие варианты, кроме docker - с радостью послушаю.
P.S. Желательно, что-бы это работало на Windows под Windows - даже не спрашивайте зачем и почему, пожалуйста ¯\_(ツ)_/¯
Я не очень понял, честно говоря, что именно ты хочешь, но отвечу на твой вопрос по докеру: да, ты можешь подключиться в контейнер, зайти внутрь, выполнять в нем команды. Можешь туда внутрь пробросить папку. Другое дело, что я не совсем уверен, что работа с Докером под Виндой у тебя будет без боли и страданий.
P.s. я не очень понял, зачем тебе несколько экземпляров приложения? Мне что-то очень кажется, что ты сильно усложнил все. Почему ты не можешь это реализовать в одном приложении? Типа вызываешь скрипт твоего приложения с определенными параметрами после изменения конфига в json - оно его считывает и выполняет те или иные действия через selenium. Зачем тут докер-контейнеры?
Приложение - бот для ватсапп. 1 экземпляр селениум - один номер ватсапп. Оттого и разные конфигурации - шаблоны ответов.
Докер у меня отпал сразу, после того, как я посмотрел сколько он у меня на vds отжирает.
Сделал в программе самого бота не сложный механизм, который в случае краша не закрывается, а циклом подымает экземпляр селениум с нужным профилем и продолжает работу.
Сейчас читаю инфу по субпроцессу. На данный момент я вижу так: В админ панели я задаю нужный мне шаблон, после чего он сохраняется в файл шаблонов самого бота и обновляется файл конфигурации субпроцесса, после чего в файле субпроцесса в цикле гоняется этот файл, как только появляется новая запись - выполняется запуск нового экземпляра. Сам субпроцесс работает как сервис.