Отдельно разберём 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
🇵🇭🌋Aux Philippines, le volcan Kanlaon est entré en éruption, projetant un panache de cendres volcaniques à une altitude de 4,5 km, a annoncé l’Institut de volcanologie et de sismologie du pays.
#philippines#éruption
🇺🇸 Une éruption du volcan Kilauea a commencé à Hawaï. Les fontaines de lave atteignent 350 m de hauteur, a indiqué l’Institut d’études géologiques des États-Unis (USGS).
#étatsunis#volcan#éruption
🇮🇩 Six éruptions du volcan Semeru ont été enregistrées en Indonésie, les cendres ont atteint 4,7 km d'altitude, a rapporté l'agence Antara, citant les données du poste d'observation de l'activité volcanique.
#indonésie#volcan#éruption
🇮🇩 Le volcan Dukono, situé dans l'est de l'Indonésie, est entré en éruption, projetant une colonne de cendres à 1.000 mètres au‑dessus du cratère, a rapporté l’agence de presse Antara, citant les données du poste d’observation.
#indonésie#volcan#éruption
🇮🇩 En Indonésie, le volcan Semeru est entré en éruption, projetant un panache de cendres s'élevant à 6,7 kilomètres au-dessus du niveau de la mer, a rapporté l'agence Antara, citant un poste d'observation local.
#indonésie#volcan#éruption
🇮🇩🌋 Une éruption du volcan Dukono s’est produite en Indonésie. Un panache de cendres s’est élevé à une hauteur de 11,1 kilomètres, ont indiqué les autorités du Centre de volcanologie du pays.
Deux personnes ont trouvé la mort, rapporte le journal Kompas en citant les services de secours. 20 touristes sont recherchés, précise Reuters.
#éruption#volcan#cendres
🇮🇩🌋 En Indonésie, le volcan Marapi a projeté des cendres jusqu’à une hauteur de 4,5 kilomètres lors de son éruption, a indiqué le Centre de volcanologie du pays.
#volcan#cendres#éruption
🇮🇩🌋 Une éruption du volcan Semeru s’est produite en Indonésie. Un panache de cendres s’est élevé à une hauteur de 5,7 km, a rapporté le portail Tempo.
#éruption#volcan#cendres
🇮🇩🌋En Indonésie, au moins neuf éruptions du volcan Semeru ont été recensées. Un panache de cendres a atteint 4,6 km d’altitude, a indiqué le Centre de volcanologie.
#Indonésie#semeru#éruption
🇺🇸🌋 Le volcan Kilauea dans l'archipel américain d'Hawaï est à nouveau entré en éruption, a annoncé samedi l'Institut d'études géologiques des États-Unis (USGS).
L'éruption a duré 8,5 heures. Des jets de lave ont atteint une hauteur de 220 mètres.
#hawaï#volcan#éruption
☀️Une éruption solaire de classe M (l’avant-dernière classe de puissance) a été détectée début mai 2026, selon des informations rapportées par l'Institut de géophysique appliquée à TASS. Sa durée a été de 31 minutes.
#soleil#éruption#puissance