Отдельно разберём 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
Startupbase helps startups move from local beginnings to global markets — step by step, with clarity.
👉 Follow us to stay updated on startup innovation, technology trends, global markets, and real founder stories.
@startupbaseuz
#Startups#StartupNews#TechNews#Innovation#GoGlobal
Устали искать стартап-каналы?
Больше не нужно — мы собрали лучшие каналы о стартапах и бизнесе со всего СНГ в одном месте.
Новости экосистемы, возможности, инсайты — теперь вы ничего не упустите.
Неважно, основатель вы или просто интересуетесь стартапами — здесь есть всё.
👇Добавляйтесь всего одним кликом
————
Startapga oid kanallarni izlab charchadingizmi?
Endi kerak emas — biz butun MDH (CНГ) bo‘yicha eng yaxshi startap va biznes kanallarni bir joyga jamladik.
Ekotizim yangiliklari, imkoniyatlar, fikrlar — hech narsani o‘tkazib yubormaysiz.
Tadbirkor bo‘lasizmi yoki shunchaki qiziqasizmi, farqi yo‘q — hammasi shu yerda.
👇Bitta bosishda qo‘shilib oling
————
Tired of searching for startup-related channels?
Not anymore — we’ve gathered the best startup and business channels across the entire CIS in one place.
Ecosystem news, opportunities, insights — you won’t miss a thing now.
Whether you’re a founder or just someone curious about startups, it’s all right here.
👇Add everything with one click
🌐Website |📷Instagram |🌐LinkedIn
#StartupsCIS#StartupUzbekistan#StartupEcosystem#StartupNews#StartupInsights#StartupChannels