Отдельно разберём 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
Туристы feat. Лучший Самый День - Гордыни.net
30 июня
на всех площадках
"Когда-нибудь все будут, просто честными людьми."
#туристы#лучшийсамыйдень#лсд#гордынинет#punkrock#punk#rock#music#musicyoutube#панкрок#панк#рок#Россия#Хабаровск #27 #new#youtube#followme#Russia#Khabarovsk#khv
КАК ВЛЮБЛЁННЫМ❤ НЕ ЗАГРЕМЕТЬ В БОЛЬНИЦУ❓️
и куда бежать, если случилось неладное... Видео-инструкция✅️
Интервью с врачом-урологом Матвеем Отводниковым
🎬Первое тестовое видео проекта
ПОДПИСЫВАЙТЕСЬ ➡️https://instagram.com/zdrav.guide27
ДЕЛИТЕСЬ ТЕМАМИ И ИСТОРИЯМИ В ДИРЕКТ
Чем больше историй и вопросов, тем больше полезных ответов для вас☝🏻😊
❤Реквизит: магазин безопасной любви и игр https://instagram.com/aleksa_secrett❤
#здравоохранение#хабаровск#уролог#переломчлена#безопасныйсекс#14февраля#деньвлюбленных#valentinesday#stvalentine#khv#врач#сексшоп#игрушкидлявзрослых#любовь#семейнаяпара#фантазии#Перинатальныйцентрхабаровск#зачатие#вивея#медклиника#малышева#докторхаус#оргазм#психолог#сексолог