Отдельно разберём 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
🌿🌼 Bienvenido #abril🌼🌿 con A de Amor, de Alegría, de Armonía, de Amistad, de Abrazos...
La primavera está en pleno apogeo. 💐 Es el mes de la transición. Un mes que nos invita a abrirnos a nuevas experiencias y a celebrar la vida en toda su plenitud. 🌷
🥳 Muchas felicidades 🎊 para todos los ♈ Aries 🐏 y ♉ Tauro 🐂 que cumplen años este mes.
Acá les dejamos una ✨#frase motivacional✨🤲💖👇🏻👇👇🏼👇🏽👇🏾👇🏿
Tus sueños no tienen fecha de caducidad, respira hondo y sigue.
¡Feliz inicio de mes!
⛈️☀️🌧️😌#undiaalavez
#BienvenidoAbril#MesDeAbril#Primavera#EfeméridesAbril#HolaAbril
#Italia🇮🇹
#Comunali
#Ortona
A Ortona, in provincia di Chieti, sono 7 i candidati e le coalizioni nazionali si sono divise.
Per quanto riguarda il centrodestra:
- Angelo #DiNardo è sostenuto da Fratelli d'Italia (#FdI|ECR) e da 3 liste civiche di destra;
- Nicola #Fratino è sostenuto da Forza Italia (#FI|PPE), dalla Lega (#LSP|PfE), da Noi Moderati (#NM|PPE|PPCE), dall'Unione di Centro (#UdC|PPE) e da una lista civica.
Nel centrosinistra i candidati sono 3:
- Ilario #Cocciola è sostenuto dal Partito Democratico (#PD|S&D), da Alleanza Verdi e Sinistra (#AVS|G-EFA|LEFT), da #Azione|RE, da Centro Democratico (#CD|RE) e da una lista civica;
- Nicola #Napolione è sostenuto dal Movimento 5 Stelle (#M5S|LEFT);
- Nicola #Primavera è sostenuto dal Partito Socialista Italiano (#PSI|S&D).
Tra i candidati figura anche Leo #Castiglione (liste civiche di centrodestra), eletto nel 2017 e rieletto nel 2022, ma dimessosi nel 2024.
@TuttoElezioni