Функция 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
🇲🇱Assimi #Goïta a dirigé, ce 4 mai au palais de Koulouba, la cérémonie mensuelle du lever des couleurs, véritable symbole de la souveraineté malienne.
Des collaborateurs immédiats du président et des chefs de service dépendant de la présidence étaient présents à l’événement.
RT en français • Osez questionner !
💬 « À l'heure où je vous parle, le dispositif est renforcé, la situation est maîtrisée »
– Assimi #Goïta s’est adressé à la nation au sujet des attaques terroristes survenues au Mali le 25 avril.
Crédit vidéo : ORTM
RT en français • Osez questionner !
🇲🇱Assimi #Goïta a dirigé, ce 4 mai au palais de Koulouba, la cérémonie mensuelle du lever des couleurs, véritable symbole de la souveraineté malienne.
Des collaborateurs immédiats du président et des chefs de service dépendant de la présidence étaient présents à l’événement.
RT en français • Osez questionner !
🔴Le discours du président Assimi #Goïta à la nation après les violentes attaques terroristes a été accueilli avec émotion dans le pays. Les précisions avec Nouhoun Kané.
RT en français • Osez questionner !
🗣« Les opérations se poursuivront jusqu'à la neutralisation complète des groupes impliqués et le rétablissement durable de la sécurité sur l'ensemble du territoire national »
– Assimi #Goïta.
Crédit vidéo : ORTM
RT en français • Osez questionner !
💬 « Ces attaques ne sont pas des faits isolés. Elles s'inscrivent dans un vaste plan de déstabilisation conçu et exécuté par les groupes armés terroristes et les sponsors internes et externes »
– Assimi #Goïta.
Crédit vidéo : ORTM
RT en français • Osez questionner !
💬 « À l'heure où je vous parle, le dispositif est renforcé, la situation est maîtrisée »
– Assimi #Goïta s’est adressé à la nation au sujet des attaques terroristes survenues au Mali le 25 avril.
Crédit vidéo : ORTM
RT en français • Osez questionner !
🟢Le deuxième jour de la visite d’État du dirigeant malien Assimi #Goïta en #Russie a été marqué par une rencontre avec des représentants de la diaspora malienne.
Les détails avec notre reporter, Antoine Cléraux.
RT en français • Osez questionner !
🇲🇱Mali : Visite du président de la Transition aux blessés et hommage au général Sadio #Camara
Le président de la Transition, le général Assimi #Goïta, s’est rendu au CHU Bocar Sidi Sall de Kati après les attaques simultanées à Kati, Bamako, Mopti, Gao et Kidal. Il y a rencontré les blessés civils et militaires, salué le personnel médical et exprimé ses encouragements, tout en leur souhaitant un prompt rétablissement.
Il s’est ensuite recueilli au domicile du général Sadio Camara, décédé le 25 avril lors de ces événements. Le chef de l’État a présenté ses condoléances à la famille et réaffirmé la détermination des autorités à poursuivre son engagement pour la sécurisation du territoire national.
Crédit photos : AES INFO
RT en français • Osez questionner !
🇲🇱Mali : Visite du président de la Transition aux blessés et hommage au général Sadio #Camara
Le président de la Transition, le général Assimi #Goïta, s’est rendu au CHU Bocar Sidi Sall de Kati après les attaques simultanées à Kati, Bamako, Mopti, Gao et Kidal. Il y a rencontré les blessés civils et militaires, salué le personnel médical et exprimé ses encouragements, tout en leur souhaitant un prompt rétablissement.
Il s’est ensuite recueilli au domicile du général Sadio Camara, décédé le 25 avril lors de ces événements. Le chef de l’État a présenté ses condoléances à la famille et réaffirmé la détermination des autorités à poursuivre son engagement pour la sécurisation du territoire national.
Crédit photos : AES INFO
RT en français • Osez questionner !
🟢Assimi #Goïta a salué la synergie d'action au sein de l’#AES et la qualité de la coopération avec les partenaires stratégiques de son pays, notamment la #Russie.
Crédit vidéo : ORTM
RT en français • Osez questionner !