Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 8, 2017 12:48:56

ivanzzzz
Зарегистрирован: 2016-08-23
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка очереди задач

Есть очередь в которую кладут задания. Мне нужно ее обрабатывать многопоточно. Решил использовать concurrent.futures. Я представляю 2 варианта реализации:

  • Запустить сразу нужное кол-во процессов и передать им очередь как аргумент. Каждый процесс по заверению сам берет следующий элемент из очереди.
  • Сделать менеджера который бы брал элемент из очереди и создавал процесс. По завершению какого-либо процесса повторял бы действия.

Как лучше сделать?

Офлайн

#2 Янв. 8, 2017 13:23:00

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Обработка очереди задач

ivanzzzz
Сделать менеджера который бы брал элемент из очереди и создавал процесс. По завершению какого-либо процесса повторял бы действия.
Запуск нового процесса может быть весьма затратным мероприятием. Зачем для каждого нового сообщения из очереди заново запускать процесс? Как у вас вообще очередь устроена, на каком движке?



Офлайн

#3 Янв. 8, 2017 14:17:19

ivanzzzz
Зарегистрирован: 2016-08-23
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка очереди задач

FishHook
multiprocessing.Queue

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version