Python asyncio или поток для трудоемкого процесса - PullRequest
0 голосов
/ 13 июля 2020

Я создаю приложение Flask, работающее в Google Cloud Run, которое принимает пути к файлам, хранящимся в облачном хранилище, загружает и считывает исходные файлы по этим путям, затем запускает алгоритм NLP для каждого файла отдельно и, наконец, , сохраните результаты алгоритма в файлы, соответствующие исходным файлам.

Поскольку все файлы обрабатываются независимо, я хотел бы ускорить процесс с помощью asyncio или потоков. Алгоритм NLP - это обычная функция syn c.

И приложение, и файлы находятся на GCP, поэтому ввод-вывод файла на самом деле не проблема. Время загрузки может быть меньше 1/10 времени обработки NLP.

Если я правильно понял сопрограмму, это экономит время для ввода-вывода. Но для этой ситуации использование очереди и потоков кажется лучшим решением. Это правильно?

Или использование asyncio для загрузки и записи результатов и использование потоков для алгоритма?

...