Отдельно разберём 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
COIN: $MOVE/USDT (5-10x)
Direction: SHORT 📉
#MOVE/USDT Take-Profit Target 3🎯
Profit : 25.71% with 10x Leverage
(PREMIUM SIGNAL)
Long or short doesn’t matter. What matters is we win.
t.me/BULLSTAR_ADMIN
We are excited to announce that @HaedalProtocol has officially completed the Sui smart contract audit conducted by @MoveBit_ , an expert and leading security firm on the #Move ecosystem.
https://twitter.com/HaedalProtocol/status/1696100358735733089?s=20
@everyone
#move#usdc
🎉 В Movement объявили о запуске собственного стейблкоина USDCx – анонс
USDCx обеспечен USDC в соотношении 1:1.
Ранее: L1-блокчейн от Movement
Crypto Headlines
📊 گزارش داده:
🚨 برترین #آزادسازی توکن ها در روز های آتی:
📌 بیشترین آزاد سازی ها:
🥇#SUI (۲۶۹ میلیون دلار)
🥈#OP (۵۸ میلیون دلار)
🥉#MOVE (۴۹ میلیون دلار)
🔽 آزاد سازیِ توکن در حجم هایِ بالا میتواند باعثِ کاهشِ قیمت و یا در بلند مدت مانع از رشدِ قیمت شود.
@ScorpionX_Co☑️