Функция asyncio.wait() это еще один способ вызвать множество асинхронных задач.
Она работает в нескольких режимах.
1. Самый простой - ждем завершения всех задач
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(10)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.ALL_COMPLETED
)
for task in done:
try:
print(task.result())
except Exception as e:
print(e)
Очень похоже на gather, но работает не так.
▫️возвращает не результаты, а два сета с объектами Task у которых можно забрать результат через task.result() если они в списке done
▫️не гарантирует порядок результатов так как оба объекта это set
▫️не выбрасывает исключение когда оно появляется, а сохраняет его в Task. Исключение появится когда попробуете забрать резултьтат.
2. Ждем завершения первой задачи, даже если там ошибка.
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(3)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_COMPLETED
)
# в done может быть несколько задач!
for task in done:
try:
print(task.result())
except Exception as e:
print(f"Fail: {e}")
# Оставшиеся задачи в pending, как правило, нужно отменить, иначе они будут продолжать работать
for task in pending:
task.cancel()
В сете done будут таски которые успели завершится, причем как успешно так и нет.
3. До первой ошибки.
Тоже самое, но с аргументом FIRST_EXCEPTION
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_EXCEPTION
)
Функция завершается как только первая задача упадет с ошибкой.
Учтите, что в любом случае done вы можете обранужить несколько задач, как с ошибками так и успешные.
↗️ Полный листинг примеров здесь
#async
🟢Le 8e Sommet de la Communauté politique européenne s'est ouvert ce dimanche 3 mai à #Erevan
Un événement qui confirme les orientations actuelles de la politique étrangère arménienne. Un sommet riche en symboles, à quelques kilomètres seulement des frontières russes et iraniennes.
🗣Plus de détails avec notre reporter Antoine Cléraux.
RT en français • Osez questionner !
🇦🇲 Les habitants d'#Erevan ont participé à la traditionnelle marche aux flambeaux organisée à l'occasion du 111e anniversaire du génocide des Arméniens dans l'Empire ottoman.
🇦🇲 Le Parlement européen a désigné le 24 avril journée de commémoration des victimes du génocide arménien dans l’Empire ottoman. Ce jour-là, en 1915, plus de 800 membres de l’intelligentsia arménienne ont été arrêtés à Istanbul puis assassinés. Au total, plus de 1,5 million d’Arméniens sont morts à la suite dans les persécutions.
RT en français • Osez questionner !
🟢Le 8e Sommet de la Communauté politique européenne s'est ouvert ce dimanche 3 mai à #Erevan
Un événement qui confirme les orientations actuelles de la politique étrangère arménienne. Un sommet riche en symboles, à quelques kilomètres seulement des frontières russes et iraniennes.
🗣Plus de détails avec notre reporter Antoine Cléraux.
RT en français • Osez questionner !
🟢Le 8e Sommet de la Communauté politique européenne s'est ouvert ce dimanche 3 mai à #Erevan
Un événement qui confirme les orientations actuelles de la politique étrangère arménienne. Un sommet riche en symboles, à quelques kilomètres seulement des frontières russes et iraniennes.
🗣Plus de détails avec notre reporter Antoine Cléraux.
RT en français • Osez questionner !
🗣Depuis l’Arménie, Emmanuel #Macron surveille la situation géopolitique avec attention
La visite d’État d’Emmanuel Macron à #Erevan a largement été marquée par la question d’un rapprochement, voire d’une future adhésion de l’Arménie à l’Union européenne.
Mais ce n’était pas le seul sujet abordé : le président français a longuement réagi aux dernières actualités internationales. Le point avec Nadège Abderrazak, notre correspondante à Paris.
RT en français • Osez questionner !
🇬🇧🇺🇦Londres pourrait se joindre au plan européen d’aide à l’Ukraine
▪️Le Royaume-Uni envisage de rejoindre le programme de prêts de l’Union européenne en faveur de l’#Ukraine, d’un montant total de 90 milliards d’euros. Des discussions sont attendues lors du sommet de la Communauté politique européenne à #Erevan.
▪️Le dispositif, approuvé fin avril pour la période 2026-2027 avec un premier versement prévu en mai, vise à financer les besoins de défense de Kiev. #Londres y voit à la fois un soutien militaire à l’Ukraine et une opportunité pour son industrie, déjà incluse parmi les fournisseurs potentiels aux côtés d’entreprises européennes.
RT en français • Osez questionner !
🇬🇧🇺🇦Londres pourrait se joindre au plan européen d’aide à l’Ukraine
▪️Le Royaume-Uni envisage de rejoindre le programme de prêts de l’Union européenne en faveur de l’#Ukraine, d’un montant total de 90 milliards d’euros. Des discussions sont attendues lors du sommet de la Communauté politique européenne à #Erevan.
▪️Le dispositif, approuvé fin avril pour la période 2026-2027 avec un premier versement prévu en mai, vise à financer les besoins de défense de Kiev. #Londres y voit à la fois un soutien militaire à l’Ukraine et une opportunité pour son industrie, déjà incluse parmi les fournisseurs potentiels aux côtés d’entreprises européennes.
RT en français • Osez questionner !
🎷🎹« La Bohème » s'invite à un dîner d'État
▪️À #Erevan, la diplomatie a pris des airs de scène : Emmanuel #Macron au micro, Nikol #Pachinian à la batterie. Ensemble, ils ont repris « La Bohème » lors d’un dîner officiel.
▪️Un moment inattendu, entre protocole et improvisation, où les chefs d’État ont troqué les discours pour la musique.
▪️Le duo qu’on n’attendait pas… mais qui a clairement volé la vedette.
Source : réseaux sociaux
RT en français • Osez questionner !
Армянское радио сообщило важнейшую новость - в Ереван прилетел позитивный организатор и... начал организовывать! #positive#city#quest#engineofemotions#erevan#armenia
#Iran: Prima visita del Presidente #Pezeshkian in #Armenia, pochi giorni dopo l’accordo di pace tra #Baku e #Erevan negli #USA. “Rispetto dell’integrità territoriale armena, preoccupati per forze straniere vicino ai confini".