Функция asyncio.wait() это еще один способ вызвать множество асинхронных задач.
Она работает в нескольких режимах.
1. Самый простой - ждем завершения всех задач
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(10)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.ALL_COMPLETED
)
for task in done:
try:
print(task.result())
except Exception as e:
print(e)
Очень похоже на gather, но работает не так.
▫️возвращает не результаты, а два сета с объектами Task у которых можно забрать результат через task.result() если они в списке done
▫️не гарантирует порядок результатов так как оба объекта это set
▫️не выбрасывает исключение когда оно появляется, а сохраняет его в Task. Исключение появится когда попробуете забрать резултьтат.
2. Ждем завершения первой задачи, даже если там ошибка.
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(3)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_COMPLETED
)
# в done может быть несколько задач!
for task in done:
try:
print(task.result())
except Exception as e:
print(f"Fail: {e}")
# Оставшиеся задачи в pending, как правило, нужно отменить, иначе они будут продолжать работать
for task in pending:
task.cancel()
В сете done будут таски которые успели завершится, причем как успешно так и нет.
3. До первой ошибки.
Тоже самое, но с аргументом FIRST_EXCEPTION
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_EXCEPTION
)
Функция завершается как только первая задача упадет с ошибкой.
Учтите, что в любом случае done вы можете обранужить несколько задач, как с ошибками так и успешные.
↗️ Полный листинг примеров здесь
#async
“Tashkent city” халқаро ишбилармонлик маркази ҳудудида Ўзбекистон Республикаси Президенти Шавкат Мирзиёев ва Қатар Амири шайх Тамим бин Ҳамад Ол Соний иштирокида халқаро ҳамжамиятнинг коррупцияга қарши курашиш борасидаги саъй-ҳаракатларини ифодаловчи монументнинг очилиш маросими бўлиб ўтди.
—
На территории Международного делового центра «Tashkent city» при участии Президента Республики Узбекистан Шавката Мирзиёева и Эмира Государства Катар шейха Тамима бин Хамада Аль Тани состоялась церемония открытия монумента, олицетворяющего усилия международного сообщества по противодействию коррупции.
#Mirziyoyev#marosim#monument#korrupsiyagaqarshikurash
Prezident.uz|Facebook|Instagram|YouTube|Twitter
🇬🇧Un partisan du mouvement britannique pro-palestinien Palestine Action a vandalisé la statue de l’ancien premier ministre britannique Winston Churchill sur Parliament Square, à Londres, en y versant de la peinture rouge, a indiqué Scotland Yard.
Le monument a été vandalisé avec de la peinture rouge. Les policiers sont arrivés deux minutes après l’alerte. Un homme de 38 ans a été interpellé pour dégradation illégale aggravée par des motifs raciaux,
précise le communiqué.
Selon le journal Daily Telegraph, il a inscrit sur le socle "criminel de guerre sioniste", et sur la statue la phrase "Free Palestine". Le monument a été nettoyé vendredi matin.
#londres#palestine#monument
Президент Шавкат Мирзиёев “Янги Ўзбекистон” боғидаги Мустақиллик монументи пойига гулчамбар қўйди.
—
Президент Шавкат Мирзиёев возложил венок к подножию монумента Независимости в парке “Янги Узбекистон”.
#Mirziyoyev#marosim#monument#Mustaqillik
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев “Янги Ўзбекистон” боғидаги Мустақиллик монументи пойига гулчамбар қўйди.
—
Президент Шавкат Мирзиёев возложил венок к подножию монумента Независимости в парке “Янги Узбекистон”.
#Mirziyoyev#marosim#monument#Mustaqillik
Prezident.uz|Facebook|Instagram|YouTube|X
🇮🇱🇷🇺 En Israël, des gerbes ont été déposées au monument Bougie du souvenir à Jérusalem à l’occasion du Jour de la Victoire.
#monument#jérusalem#victoire
“Tashkent city” халқаро ишбилармонлик маркази ҳудудида Ўзбекистон Республикаси Президенти Шавкат Мирзиёев ва Қатар Амири шайх Тамим бин Ҳамад Ол Соний иштирокида халқаро ҳамжамиятнинг коррупцияга қарши курашиш борасидаги саъй-ҳаракатларини ифодаловчи монументнинг очилиш маросими бўлиб ўтди.
—
На территории Международного делового центра «Tashkent city» при участии Президента Республики Узбекистан Шавката Мирзиёева и Эмира Государства Катар шейха Тамима бин Хамада Аль Тани состоялась церемония открытия монумента, олицетворяющего усилия международного сообщества по противодействию коррупции.
#Mirziyoyev#marosim#monument#korrupsiyagaqarshikurash
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Президент Шавкат Мирзиёев “Янги Ўзбекистон” боғидаги Мустақиллик монументи пойига гулчамбар қўйди.
—
Президент Шавкат Мирзиёев возложил венок к подножию монумента Независимости в парке “Янги Узбекистон”.
#Mirziyoyev#marosim#monument#Mustaqillik
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев “Янги Ўзбекистон” боғидаги Мустақиллик монументи пойига гулчамбар қўйди.
—
Президент Шавкат Мирзиёев возложил венок к подножию монумента Независимости в парке “Янги Узбекистон”.
#Mirziyoyev#marosim#monument#Mustaqillik
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев “Янги Ўзбекистон” боғидаги Мустақиллик монументи пойига гулчамбар қўйди.
—
Президент Шавкат Мирзиёев возложил венок к подножию монумента Независимости в парке “Янги Узбекистон”.
#Mirziyoyev#marosim#monument#Mustaqillik
Prezident.uz|Facebook|Instagram|YouTube|X
🇧🇬🇷🇺 Les autorités bulgares retirent les échafaudages installés en décembre 2023 pour le démontage du monument à l’Armée soviétique à Sofia, rapporte le correspondant de TASS.
Il est prévu que les structures métalliques soient démontées dans un délai de quatre jours.
#échafaudages#monument#démontage
“Tashkent city” халқаро ишбилармонлик маркази ҳудудида Ўзбекистон Республикаси Президенти Шавкат Мирзиёев ва Қатар Амири шайх Тамим бин Ҳамад Ол Соний иштирокида халқаро ҳамжамиятнинг коррупцияга қарши курашиш борасидаги саъй-ҳаракатларини ифодаловчи монументнинг очилиш маросими бўлиб ўтди.
—
На территории Международного делового центра «Tashkent city» при участии Президента Республики Узбекистан Шавката Мирзиёева и Эмира Государства Катар шейха Тамима бин Хамада Аль Тани состоялась церемония открытия монумента, олицетворяющего усилия международного сообщества по противодействию коррупции.
#Mirziyoyev#marosim#monument#korrupsiyagaqarshikurash
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Президент Шавкат Мирзиёев “Янги Ўзбекистон” боғидаги Мустақиллик монументи пойига гулчамбар қўйди.
—
Президент Шавкат Мирзиёев возложил цветы к подножию монумента Независимости в парке "Янги Узбекистон".
#Mirziyoyev#marosim#monument#Mustaqillik
Prezident.uz|Facebook|Instagram|YouTube|Twitter