Отдельно разберём 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
L'arnaque du Référendum d'Initiative Partagée : Clément Viktorovitch explique sur FranceInfo pourquoi faut-il enterrer le #RIP et instaurer le #RIC.
« Cette semaine, le Conseil Constitutionnel a rejeté la deuxième demande de Référendum d’initiative partagée (RIP) sur les #retraites, qui avait été déposée par les parlementaires de l’opposition. Une décision qui ne change pas grande chose, puisque la procédure aurait été imaginée… pour ne jamais être appliquée ! Dans "Entre les lignes", chaque dimanche sur franceinfo, Clément Viktorovitch décrypte les discours, analyse les paroles des politiques qui font l'actualité. »
Vidéo : https://www.youtube.com/watch?v=JvIrKvm5f50
Merci à ceux qui partagent nos publications sur les réseaux sociaux et donne de la visibilité à ces infos !
413 milliards d'argent magique pour les armées sur 7 ans, mais pour combler les 10 milliards qui POURRAIENT manquer pour les retraites dans 7 ans, il va falloir travailler plus longtemps... Cherchez l'erreur !
Avec le RIC, on pourrait décider nous-mêmes des priorités à financer : #retraites, #éducation, #hôpital…
Avec le RIC veto, on empêcherait les lois injustes comme la réforme des retraites !
Signez et partagez
➡️https://petition.ric-france.fr/petition-veto-reforme-des-retraites
✏️ Allan Barte
Source : https://www.lemonde.fr/international/article/2023/01/20/emmanuel-macron-annonce-une-enveloppe-de-413-milliards-d-euros-pour-le-financement-des-armees-dans-les-sept-annees-a-venir_6158657_3210.html
80% des Français sont opposés à la #RéformeDesRetraites et pourtant, ils sont impuissants…
75% pensent que malgré la forte opposition, la réforme aura lieu quand-même...
Il nous faut un nouveau droit politique, celui de pouvoir s’opposer aux lois injustes : le #RICveto !
Partagez massivement cette pétition pour la mise en place du RIC veto :
➡️https://petition.ric-france.fr/petition-veto-reforme-des-retraites
#Retraite#Borne#Macron#JusticeSociale#RIC#Référendum#Retraites#StopRetraiteMacron#RetraiteA60Ans#greve19janvier#19Janvier