Отдельно разберём 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
🔔Цена на UNIUS BLACK LOTUS теперь составляет всего 10.791₽
— Скидка продлится до 🔞 часов, рекомендуем поторопиться!
10% распространяется на все товары! Скорее проверь на ReShip.pro🤫
КАТАЛОГ • МЕНЕДЖЕР • #UNIUS
🌸UNIUS BLACK LOTUS - всё, что тебе нужно: Комплект, Дизайн, Качество.
⚫️Шесть видов Грипсов - универсальные и полноразмерные
⚫️Три вида Глайдов от Unusual Way Sports - полноразмерные и точки
💳Предзаказ уже открыт - 11.990₽
ОФОРМИТЬ ЗАКАЗ • КАТАЛОГ • #UNIUS
🌹Новая карбоновая мышка UNIUS BLACK LOTUS - это сочетание проработанного до мельчайших деталей дизайна и невероятной комплектации:
⚫️Шесть видов Грипсов - универсальные и полноразмерные
⚫️Три вида Глайдов от Unusual Way Sports - полноразмерные и точки
Black Lotus отличается исключительной прочностью благодаря карбоновому материалу и продуманной конструкции корпуса
Псс... Говорят, ей даже орехи можно колоть!
💳Предзаказ уже открыт - 11.990₽
ОФОРМИТЬ ЗАКАЗ • КАТАЛОГ • #UNIUS
🌸В наличии появились карбоновые мыши Akitsu и Black Lotus
🌸
— Расскажем подробнее о материалах и конструктивных особенностях этих моделей:
⚪️Механические переключатели вместо оптических:
Сейчас многие производители устанавливают в свои мыши оптические переключатели, на которые пользователи нередко жалуются из-за тугого и звонкого клика. Модели Akitsu и Black Lotus выпускаются разными брендами, но проектируются одной командой инженеров, которая сделала выбор в пользу классической механики:
В Black Lotus доступен выбор переключателей (Huano Gold Switch или FSWQ Black Switch), а также возможность выбрать размер аккумулятора.
В Akitsu установлены переключатели Huano Blue Shell.
⚪️Композитный материал и монолитность корпуса:
В производстве корпусов используется композит — пластик, смешанный с частицами углеволокна. Такое решение делает мышь одновременно более легкой и прочной.
Сама конструкция спроектирована с учетом особенностей этого материала, что обеспечивает высокую жесткость. В руке устройство ощущается цельным: стенки не прогибаются при хвате, а элементы корпуса плотно подогнаны друг к другу без люфтов.
➡️Unius Black Lotus - 10.490₽
➡️Tenko Akitsu Medium - 11.490₽
САЙТ • МЕНЕДЖЕР • #TENKO • #UNIUS