Задать вопрос

Как организовать многопоточность для запуска subprocess?

Есть необходимость запускать subprocess в потоках с контролируемым количеством потоков, с возможность добовлять задания на лету.
Пока реализовано так, запускаю количество process из модуля multiprocessing равное количеству процессов, кидаю в очередь задачи которые необходимо выполнять, как задачи кончились потоки умерли, запускаю новые задачи смотрю предыдущие потоки is_alive(), если мертвые убиваю terminate() и запускаю потоки заново, если новые задачи добавились предыдущие еще не отработали то они просто ставятся в очередь и выполняются старыми потоками, так как они еще не умерли.
map не устраивает тем, что нет возможности добавить новые задачи, только создав новый pool.
Есть ли решение более рациональное ? Для запуска нескольки subprocess с контролируемым количеством потоков и возможность пополнения задачами которые необходимо запустить. Данные из subprocess не требуются, просто запустить в асинхроне
  • Вопрос задан
  • 120 просмотров
Подписаться 1 Средний 8 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽