Отдельно разберём 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
💥 CFMOTO 800MT-X. Эпизод 2
✏️ Продолжаю колдовать в гараже. Сегодня установил:
🔹 Дополнительный свет (теперь светло, хоть ночью снимай)
🔹 Защиту (гарды + протектор бака)
🔹 Шарнирные зеркала (неубиваемые)
🔹 Подогрев ручек (чтобы не мерзли пальцы)
🔹 Новое стекло
🔹 Багаж: сумка Rhinowalk на бак и кофры Westwind Hussar Panniers.
✔️ Байк реально преобразился и стал выглядеть как настоящий путешественник! 🧳 Кто уже ставил такие кофры? Делитесь опытом в комментариях!
⬇️⬇️⬇️ССЫЛКИ НА ВИДЕО
https://vkvideo.ru/video-226736897_456239441?list=74403a51bcb94caa9c
https://youtu.be/c7fPX5ubvSg?si=s3wB7BbGJICk3qzO
https://dzen.ru/video/watch/69a14c29a994f2140657ea7f
https://rutube.ru/video/7608068f568f57beb2eb1616b30dc724/?r=a/
#cfmoto#800mtx#motoprep#hardenduro#мотоцикл#путешествия
💥 KTM 450 RALLY REPLICA: ГОТОВЬТЕСЬ К БЕЗДОРОЖЬЮ! БАЙК ДАНИЭЛЯ САНДЕРСА ВЫХОДИТ В ПРОДАЖУ!
✏️ Мотоцикл, на котором Даниэль Сандерс штурмует подиумы ралли-рейдов (включая Дакар!), теперь доступен и вам! KTM только что представила долгожданную 450 Rally Replica 2025 года. Это не просто мотоцикл — это чистокровная гоночная машина для бездорожья, адаптированная для эндуро-ралли.
🔥 Главные фишки байка:
1. Сердце чемпиона: Тот же мощный 450-кубовый SOHC двигатель, что и на заводской раллийной машине Сандерса. Облегченные компоненты (поршень, шатун), полый распредвал, титановые клапаны и их пружины — все для максимальной мощности и надежности в экстремальных условиях.
2. Заводская ходовая: Полностью карбоновая рама и задняя подвеска напрямую от гоночного прототипа! Легкость и прочность на новом уровне.
3. Высокотехнологичная подвеска: Передняя вилка WP XACT PRO 7548 и задний амортизатор WP XACT PRO 6748 с ручной настройкой сжатия/отбоя — полный контроль на любом рельефе.
4. Эксклюзивная комплектация:
* Заводские кевларовые бензобаки** (большой 31,5л + два малых по 7,5л) для огромного запаса хода.
* Карбоновые защитные элементы (крылья, защита руля, радиаторов).
* Легкосплавные колесные диски DID DirtStar с бескамерными покрышками Michelin Desert Race.
* Специальное сиденье Rally для комфорта на марафонских спецучастках.
* Датчик нейтрали (единственная "уступка" дорожной регистрации, легко снимается для гонок).
* Светодиодная фара (редкость для чисто раллийного байка!).
5. Внешний вид: Агрессивный дизайн в фирменных цветах KTM Factory Racing и личной графике Даниэля Сандерса. Выделяться будете не только скоростью!
💵 Цена и Доступность:
* Цена пока не объявлена (ожидайте премиальный сегмент).
* Производство ОЧЕНЬ ограничено (как и у предыдущих релизов).
* Старт продаж — июнь 2025 года.
#KTM#KTMRally#450Rally#ДаниэльСандерс#DakarRally#RallyReplica#Эндуро#РаллиРейд#Бездорожье#Мотоновинка2025#AdventureBike#HardEnduro#Мотоспорт#Экстрим