Отдельно разберём 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
⏺#Ukraine : visite discrète... ou pas tellement
Le prince britannique #Harry a effectué une visite surprise, non officielle, en Ukraine, selon les médias.
Source : réseaux sociaux
RT en français • Osez questionner !
Я тут решил мем-коины поторговать, так как считаю, что через них крупный игрок привлекает внимание и затягивает новых участников рынка.
У меня в портфеле на символическую сумму есть: #TRUMP, #HARRY, #ELONAI, #DEGEN, #ELON, #PENG, #MEW, #ANDY
Разбираться в сложных технологиях никто не хочет, а вот купить картинку собаки или кошечки, чтобы испытать удачу, люди готовы еще как.
Нашел очень хороший инструмент, который создал знакомый мне чел, Эмиль Панахов для торговли мемкоинами на дексах через телеграм.
✔️https://t.me/alpha_web3_bot?start=aMTIGkyQ
👆Регистрируйтесь, скоро дам первый сигнал куда сам зашел вчера, а также сделаю обзор как пользоваться этим мини-эпсом.