LINUX.ORG.RU

Python и увеличение количества процессов в Pool

 ,


1

4

Добрый вечер. Допустим, у нас уже есть запущенный пул потоков

from multiprocessing import Pool
pool = Pool(processes=50)

В него отправлены на выполнение с помощью apply_async какие-то данные(например список из 500 строк). Мне не понравилось что слишком медленно выполняется всё это. Могу ли я увеличить количество процессов в пуле прямо на лету, во время его работы?

Смотрел на форк multiprocessing, называемый billiard, там вроде есть функция grow у Pool, но до конца ещё не разобрался.

Всем спасибо за ответы!

не понравилось что слишком медленно выполняется всё это

И тут ты такой с примерами данных, точными настройками и и конкретным результатами тестов

zolden ★★★★★ ()

Могу ли я увеличить количество процессов в пуле прямо на лету, во время его работы?

processes=50

Чтоб увеличить и без того адовый контеншн?

A1 ()
Ответ на: комментарий от zolden

Ну, я например передаю в Pool список из 500 URL, по которым выдаётся 1ГБ-файл. Я хочу скачивать это всё в бОльшем количестве потоков. Переделывать что-то в самих функциях, которые исполняются в пуле смысла нет, т.к. там код основан на ожидании чего-либо, и сам почти ничего не делает.

mahalaka ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.