Является ли Python asyncio правильным выбором для параллельной обработки сообщений Google PubSub?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Является ли Python asyncio правильным выбором для параллельной обработки сообщений Google PubSub?

Сообщение Anonymous »

Первоначальный вопрос (см. ниже) был закрыт из-за слишком неконкретности. Я обновил вопрос, используя комментарии к исходному вопросу.
Обновленный вопрос
У меня есть следующий код Python, который использует внешнюю команду для обработки несколько элементов (обычно от 50 до 500) последовательно. Я хочу ускорить обработку, вызвав внешнюю команду в 5 параллельных экземплярах. Я думал об использовании asyncio или потоков, но не могу понять, как запустить следующий экземпляр после завершения одного из 5 внешних вызовов.

Код: Выделить всё

import subprocess
params = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
program = '/path/to/external/program'
def main():
for param in params:
subprocess.run([program, param])
if __name__ == "__main__":
main()
См. мой собственный ответ (который я смогу предоставить, как только stackoverflow позволит мне добавить ответ) на этот вопрос к решениям, которые я нашел с помощью @akx и @benyamin-jafari. .
Оригинальный вопрос
Я ищу хорошее решение для обработки больших пакетов (от 50 до 500) сообщений, полученных из Google PubSub и затем обработайте их с помощью 5 параллельных экземпляров внешней программы. Выполнять обработку на Python экономически нецелесообразно, поскольку внешняя программа уже существует и хорошо протестирована.
У меня средний уровень знаний по программированию на Python, но не по асинхронному программированию.
Я думал об использовании asyncio. Могу ли я создать пул из 5 экземпляров asyncio.create_subprocess_exec, и всякий раз, когда завершается одна внешняя программа, запускается другая? Как мне получить информацию о том, что внешняя программа завершила работу?
Скажите, пожалуйста, не стоит ли вообще использовать для этого asyncio.

Подробнее здесь: https://stackoverflow.com/questions/789 ... ubsub-mess
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»