Отдельно разберём 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
#RTN-#INFO : Les attentats perpétrés le 25 avril 2026 dans plusieurs régions du Mali par des groupes terroristes, n'ont pas surpris les milieux avertis qui les avaient vu venir.
Mais grâce à une action coordonnée et immédiate des forces de la Confédération, les ennemis du Sahel, notamment à Kidal, sont en train de battre en retraite.
En vérité, des renseignements documentés et fiables laissaient présager ce qui arrive au Mali, dans le cadre d'un vaste plan maléfique des mercenaires et de leurs sponsors, visant à reconquérir le Sahel et ses ressources considérables.
En tournée en novembre 2026 à l'intérieur du pays, le Président Abdourahamane Tiani, en fin connaisseur de la géopolitique sous-régionale, avait prédit les événements survenus au Mali.
Commentaire signé Abdoulaye Coulibaly.
#Mise en ligne : Soumaila SEYNI
#Coordination : Moussa HAMANI