Отдельно разберём TaskGroup, который пришел на замену gather в Python 3.11.
Ключевые отличия
▫️create_task() возвращает объект asyncio.Task, у которого есть соответствюущие методы управления. То есть у нас больше контроля
▫️это контекстный менеджер, который гарантирует что все таски будут остановлены по выходу из контекста
▫️ошибка автоматически отменяет незавершенные задачи,
▫️except* передает нам ExceptionGroup, в котором каждую ошибку можно обработать отдельно
import asyncio
import random
async def do_it() -> str:
if random.random() < 0.1:
raise ValueError('Oops')
delay = random.uniform(0.5, 1.5)
await asyncio.sleep(delay)
return delay
async def main():
try:
async with asyncio.TaskGroup() as tg:
for _ in range(10):
tasks.append(tg.create_task(do_it()))
for t in tasks:
print(t.result())
except *ValueError as e:
for err in e.exceptions:
print(err)
asyncio.run(main())
Рекомендую изучить страницу Coroutines and Tasks из документации, где представлено больше интересных примеров и механизмов
- таймауты
- отмена задач
- создание задач из другого потока
#async
C# Tarixi
Ushbu maqolamizda sizlarga C# dasturlash tili tarixi haqida qisqacha ma’lumot berishga harakat qilamiz. Agarda siz dasturlash olamida yangi va nimadan boshlashi bilmay turgan bo’lsangiz, ushbu kamtargina maqolachamiz aynan siz uchun.
👉Batafsil
👨🏫 Mentor: Suxrob Xayitmurodov
#csharp#history#famous#select
.NET Uzbekistan Community
__________
Telegram | Instagram | Youtube
❎ Famous Characters (Caption) ❎
https://telegram.me/addstickers/famousCharactersCaption
#Famous#Characters#Caption#Unofficial
▶️ more Stickers at S4T.tv
👍 Epic Thumbs Up 👍
https://telegram.me/addstickers/EpicThumbsUp
🇪🇸 La Cosa memes https://telegram.me/addstickers/lacosarock
#ThumbsUp#Like#Famous#Stickers#Español#LaCosa
↘️ + Stickers at S4T.tv
❎ Famous Characters ❎
https://telegram.me/addstickers/stickerstelegram
❗️A United Nations panel considering whether Julian Assange has been detained arbitrarily after spending years in the Ecuadorian embassy in London has ruled in his favour, it has been confirmed💪
#Julian#Assange#Famous#Characters#S4Dynamics#Pack
↘️more Stickers at S4T.tv