# #python #google-app-engine #google-cloud-platform #task-queue #google-cloud-tasks
Вопрос:
У меня есть вариант использования, который требует, чтобы я отслеживал, выполняются ли все запросы задач, запущенные внутри цикла, или нет. Как только ВСЕ задачи будут выполнены(ВСЕ, а не несколько), только тогда я смогу приступить к следующему этапу своей задачи. Я хочу отслеживать это в самом коде, а не на странице облачных задач в консоли.
В этом коде я запускаю очереди задач таким образом:-
for item in listA:
execute taskqueue1
inside taskqueue1 function:-
for b in listB:
execute taskqueue2
Мне нужно выяснить, завершены ли все задачи в циклах listA и listB. Есть ли способ отслеживать статусы всех запущенных очередей задач?
Все очереди задач являются очередями push.
Ответ №1:
Просматривая документацию по Python,я нашел ссылку, которая может помочь вам в вашем случае: https://realpython.com/intro-to-python-threading/
В этой статье вы можете ознакомиться со следующими темами:
- Что такое Нить ?
- Как создавать темы и ждать их завершения
- Как использовать ThreadPoolExecutor
- Как избежать гоночных условий
- Как использовать общие инструменты, предоставляемые потоковой обработкой Python
Если вы не уверены , хотите ли вы использовать Python threading, asyncio or multiprocessing
, то вы можете проверить, как ускорить вашу программу на Python с помощью параллелизма:
https://realpython.com/python-concurrency/
Вот также учебник по репозиторию Python на Github, который может быть полезен: https://github.com/realpython/materials/tree/master/intro-to-threading
Комментарии:
1. Большое вам спасибо за это, но это не сработает в облачных задачах