Как управлять активными регулярными процессами в Python?
Доброй ночи.
Кратко о проблеме: нужно создавать несколько процессов с регулярным выполнением (сбор данных) на базе одного и того же кода (меняются только входные параметры). Важно иметь возможность включать/выключать их по id/имени или как-то еще.
Что я делаю сейчас: под каждый такой процесс создаю отдельный файл и включаю/выключаю его через сессии tmux. Можно запускать subprocess из командной строки с -аргументами (что очень удобно), но как потом включать/выключать такие процессы - непонятно.
Вопрос: есть ли какой-то не слишком мудреный способ решения подобной задачи? Без создания docker-конейнеров, кучи копий файлов и т.п. То есть, есть файл, я туда через командную строку передаю параметры, и запускаю его кучу раз одновременно (вместо того чтобы плодить копии), а потом, когда какие-то процессы не нужны - включаю/выключаю их как tmux сессии.
Буду благодарен за любой совет :)
P.S. Пока писал вопрос - понял что tmux сессии и есть решение, создаешь кучу сессий с названиями, запускаешь там тот же файл с разными параметрами и мир-труд-май. Но если есть какой-то более оптимальный способ - обязательно расскажите :)
sim3x, Я создаю процесс под задачу, таких задач образно 20 актуально, создаю 20 процессов. Потом по 5 задачам уже не нужно собирать данные, я убиваю процесс. Обмениваться информацией процессы не должны, каких-то связей или pipeline я не вызываю, чтобы они могли сломаться. В чем некорректность подхода?
Оно, но тогда вдогонку - а как добавлять сабпроцессы в работающий скрипт? Я имею ввиду, придется держать его постоянно открытым, и если он закроется, то и все подпроцессы умрут?
Разве что держать информацию о всех процессах в базе данных, и автоматически создавать новые, если появляется процесс, и выключать его же, если он удаляется из базы. Хм.