Отдельно разберём 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
"He who can not obey himself will be commanded."
-Nietzsche
The line cuts deep because it's true. We've all felt it.
The moment we betray what we know we should do. The quiet voice we ignore until someone louder takes control.
Do shout to yourself.
#discipline
#nietzsche
AETATESOLIS
🌅Good Morning Traders!
It’s Monday — a fresh start, a new week, and a new chance to level up your trading game. 💥
Forget past mistakes; let them guide your strategy, sharpen your focus, and strengthen your discipline.
Stay patient. Stay consistent.
Remember — smart planning and steady execution always beat impulsive moves.
Let’s make this week a profitable one! 🚀
#MondayMotivation#TradingMindset#Discipline#RealBinaryOptions
🌅Good Morning Traders!
A brand new day means a brand new opportunity to grow, learn, and win. 💥
Don’t let yesterday’s losses define you — let them teach you. Every great trader has faced setbacks, but only the focused ones rise stronger.
Stay calm. Stay disciplined.
Remember — consistency beats emotion every single time.
Let’s make today count! 🚀
#Mindset#Discipline#Focus#Growth