Задать вопрос
Qwentor
@Qwentor
Веб-программист

Как добавлять процессы в multiprocessing.Pool на ходу?

Код примерно такой:
from multiprocessing import Pool
# импорт всего, что нужно

# функция, выполняющаяся в многопотоке
def worker(data):
    #много кода

# Ловим событие, по нему запускаем многопоточный код
@watcher.on_message()
def start(client, message):

    # немного кода, 
    # в итоге получаем список result
    p = Pool(10)
    p.map(worker, result)


Но при такой реализации при множестве одновременно срабатывающих событий создается огромное количество потоков, в итоге переполняется память и приходится перезагружать сервер
Как сделать правильно, чтобы Pool был один единственный и в него добавлялись задачи по событиям? При этом надо чтобы сохранилась многопоточность и количество потоков было ограничено.
  • Вопрос задан
  • 205 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Хекслет
    Python-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы