Отдельно разберём 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
#CELO/USDT analysis :
#CELO is currently in a downtrend, trading below the 200 EMA. The price is anticipated to retrace and test the 200 EMA & resistance zone before continuing its bearish momentum.
TF : 2H
Entry : $0.5881
Target : $0.5028
SL : $0.6695
#celo
🤔 Разработчик браузера Opera хочет стать одним из крупнейших держателей CELO.
Компания планирует заменить денежное соглашение с Celo на получение 160m CELO ($12,4m) – это ~27% циркулирующего предложения и ~16% от максимальной эмиссии.
Решение объясняют успехом MiniPay, криптокошелька внутри Opera:
⊹ 14m пользователей.
⊹ 420m транзакций.
⊹ 66+ стран.
Ранее: партнерство
Crypto Headlines
#CELO
Opera хочет получить долю в Celo на $160 млн
Производитель браузера Opera добивается получения доли в сети Celo на сумму около $160 млн, чтобы стать одним из ключевых участников экосистемы.
Новость выходит на фоне уже действующего партнерства Opera и Celo. В декабре компании объявляли о расширении сотрудничества вокруг MiniPay — кошелька на базе Celo. Тогда сообщалось, что MiniPay превысил 11 млн активированных кошельков и 300 млн транзакций.