Я ищу совет по многозадачности на платформе Python36, Настройка процедуры - PullRequest
0 голосов
/ 16 мая 2019

У меня есть готовые к использованию коды за 1 раз, я хочу обновить его до чего-то необычного, многозадачного. Я ищу помощь о том, что я могу использовать для достижения своей цели.

мои коды выполняются в следующем порядке: разбор нескольких страниц, разбор нескольких сообщений, разбор нескольких изображений. Я пытался сделать многостраничные с многократной обработкой с помощью pool.map (), получилось, что KeyError из Daemonic не может иметь дочерние процессы. Насколько я понимаю, эта многозадачная процедура состоит в том, что парсинг страниц выполняется быстро, парсинг постов и изображений может быть очень длинным.

Что, если я выполняю синтаксический анализ сообщений и изображений на одной странице, можно ли это разрешить?

Какие модули я должен использовать для этого? нить? многопроцессорная? asyncio? В последнее время я многое пережил, я борюсь с тем, что мне следует использовать.

1 Ответ

1 голос
/ 16 мая 2019

Таким образом, в верхней части моей головы вы можете посмотреть на 2 вещи.

1) Asyncio (будьте осторожны, этот пример использует многопоточность и не является поточно-ориентированной, особенно функция asyncio.gather)

import asyncio
for work in [1,2,3,4,5]:
    tasks.append(method_to_be_called(work))

results = await asyncio.gather(*tasks)

2) Asyncio + многопроцессорная обработка https://github.com/jreese/aiomultiprocess

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