Я создаю приложение Flask, работающее в Google Cloud Run, которое принимает пути к файлам, хранящимся в облачном хранилище, загружает и считывает исходные файлы по этим путям, затем запускает алгоритм NLP для каждого файла отдельно и, наконец, , сохраните результаты алгоритма в файлы, соответствующие исходным файлам.
Поскольку все файлы обрабатываются независимо, я хотел бы ускорить процесс с помощью asyncio
или потоков. Алгоритм NLP - это обычная функция syn c.
И приложение, и файлы находятся на GCP, поэтому ввод-вывод файла на самом деле не проблема. Время загрузки может быть меньше 1/10 времени обработки NLP.
Если я правильно понял сопрограмму, это экономит время для ввода-вывода. Но для этой ситуации использование очереди и потоков кажется лучшим решением. Это правильно?
Или использование asyncio
для загрузки и записи результатов и использование потоков для алгоритма?