Отдельно разберём 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
¿Le buscan tres pies al gato? 🤔
🔴 Además de la vía penal, el #PAN interpuso una denuncia paralela por posibles faltas administrativas graves 📄 | ¿Qué opinas? 🤔
https://revistaelpolitico.com/nacional/pan-denuncia-ebrard-uso-indebido-recursos-publicos/
¡Mejor nadota! ❌
🔴 Parece que el verdadero deseo del #PAN no es ganar gubernaturas, sino ampliar su lista de militantes indeseables 🤡😂🗳️
https://revistaelpolitico.com/nacional/pan-buscara-gustavo-macalpin-sea-candidato-2027/
#COMIDASALUDABLE#PAN🥖 | El sencillo truco de un médico para hacer saludable el pan blanco reduciendo el azúcar y el almidón https://ift.tt/hcf09Z2 November 11, 2024 at 02:00AM
La oposición anda con todo 💥
🔴 El #PAN señaló que las acusaciones de #EU contra Rubén Rocha solo evidencian algo que el oficialismo estaba tratando de ocultar 🤔‼️🚨
https://sinlineamx.com/pan-pide-desaparicion-de-poderes-sinaloa/
¿La dejan sola? 🤔
🔴 Luego de saltar por #MaruCampos y justificarla, el #PAN decidió "aplazar" una conferencia que tenía programada para este día ❌🗓️
https://sinlineamx.com/pan-cancela-conferencia-maru-campos-caso-cia/
¡Nadie los quiere! 🤮
🔴 El #PAN está tan quemado que hasta #SalinasPliego ya los mandó a volar 🤣 | ¿Será que es una ruptura definitiva? 🤔
https://sinlineamx.com/salinas-pliego-desprecia-pan-reclama-mexico-elige/
Dios los hace y ellos se juntan 🙄
🔴 El #PAN estaría dispuesto a reforzar su discurso de que "el pobre es pobre porque quiere" con el rostro de #SalinasPliego❌🤦🏻♂️🗳️
https://sinlineamx.com/panistas-aprueban-salinas-pliego-sea-su-candidato/