Отдельно разберём 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
🔺Xullas, 2024-yil kirib keldi, siz o'z vadalaringgiz va maqsadlaringgizni esdan chiqarmadinggizmi?
🔺Agar esdan chiqarmagan bo'lsanggiz izohlarga oldinggizga qanday maqsadlar qo'yganggizni yozib qo'ying, ha aytgancha ularni bajarish uchun birinchi qadamni qo'ydingizmi...
🗣️#maqsad
2025-yilga maqsadlar > Tub burilish
Maqsad kishini olgʻa intilishiga sabab boʻlishi mumkin, agar unda shijoat va maqsad sari harakat qilsa... 2024-yil boshida oʻylagan, baʼzilarini yozgan maqsadlarimga deyarli yetdim. Menimcha erisha olmagan maqsadlarim yoʻq ekanki, uni eslay olmadim...
Chet tillari oʻrganish boʻyicha ham 6-7 oycha oʻqib, toʻxtatib qoʻydim, ishlar bilan boʻlib, kelgusi yilda chet tillariga koʻproq eʼtibor qaratishim ham mumkin.
Hozircha aniq maqsad qoʻyib olishga shoshilmayapman. Balki, toʻliq biznesga oʻtib ketishim, dizaynni tark etishim ham mumkin. Doimo hayotimda tub burilishlar qilib kelganman va bundan afsuslanmayman)
Tub burilishlar sababli topganlarim ham koʻp boʻldi. Yaʼniki yuqori masʼuliyatli loyihalarni ishonib topshirishdi. Masʼuliyatni boʻynimga oldim! Ancha qiynab ham qoʻydim oʻzimni, stressga tushdim, orada sogʻliqda muammolar boʻlib, shifoxonaga ham tushib chiqdim...
Xullas, ishonib topshirilgan vazifaga qay holatda boʻlsa ham, ishlab berdim. Toʻgʻrisini aytganda, masʼuliyati ancha ogʻir ekan, sababi dizayndan tashqari katta masʼuliyatlarni ham boʻynimga olgan edim... Qisqasi, 2024-yil karyeram uchun ajoyib yil boʻldi desam ham boʻladi.
2025-yilda hayotimda yana ham katta oʻzgarishlar qilishga harakat qilaman, nasib boʻlsa)
@suxrobblog — #maqsad#tub_burilish
#yuksalish#maqsad#natija
⚡Bugun shogirdim Boymurod Yunusov bilan yangi dizayn o'rgandik, o'ziga yarasha mehnati bor, lekin tushungan odam zavqlanib ishlaydi.
@ik_design👈👉@isakovxusniddin
💰 Orzu kutiladi.
Maqsad esa har kuni tanlanadi.
Agar bugun charchagan bo‘lsang ham,
agar hozir natija ko‘rinmayotgan bo‘lsa ham —
to‘xtama.🌟
🌟 Chunki maqsadga yetadiganlar
eng tez yurganlar emas,
eng bardoshli bo‘lganlardir.
Bugun o‘zingdan voz kechma.
Ertangi sen buning uchun rahmat aytadi. 🌟
#Maqsad#Intizom#Doimiylik#Osish#AyollarUchun
🌟@Milliarderlarim