Функция 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
Il cancelliere tedesco Olaf #Scholz non ha ottenuto la fiducia al Bundestag aprendo la strada alle elezioni anticipate a febbraio. Il cancelliere ha ottenuto 207 voti a favore, 394 voti contro. In 116 si sono astenuti. Per ottenere la fiducia Scholz avrebbe dovuto ottenere almeno 366 voti.
@UltimoraPolitics
Migranti, Giorgia #Meloni a Olaf #Scholz: “Mi auguro che gli esatti contorni di queste iniziative del tuo governo potranno essere meglio chiariti, e sarò lieta di discutere di persona della questione alla prima occasione utile, a partire dal Vertice Ccp e dal Consiglio Europeo di Granada il prossimo 5 e 6 ottobre” e aggiunge “occorre concentrarsi nel costruire soluzioni strutturali al fenomeno migratorio”.
@UltimoraPolitics
Migranti, Giorgia #Meloni a Olaf #Scholz: "Ѐ ampiamente noto che la presenza in mare delle imbarcazioni delle ong ha un effetto diretto di moltiplicazione delle partenze di imbarcazioni precarie che risulta non solo in ulteriore aggravio per l'Italia, ma allo stesso tempo incrementa il rischio di nuove tragedie in mare"
@UltimoraPolitics
Migranti, Giorgia #Meloni scrive al cancelliere tedesco Olaf #Scholz: "Ho appreso con stupore che il tuo governo - in modo non coordinato con il governo italiano - avrebbe deciso di sostenere con fondi rilevanti ong impegnate nell'accoglienza ai migranti irregolari sul territorio italiano e in salvataggi nel Mare Mediterraneo. Entrambe le possibilità suscitano interrogativi"
@UltimoraPolitics
ANSA - Il cancelliere tedesco Olaf #Scholz ha esortato il presidente russo Vladimir #Putin a ritirare le truppe dall'Ucraina e a negoziare con Kiev. Lo annuncia il governo tedesco. #Scholz ha parlato con il presidente ucraino #Zelensky prima di sentire il…
ANSA - Il cancelliere tedesco Olaf #Scholz ha esortato il presidente russo Vladimir #Putin a ritirare le truppe dall'Ucraina e a negoziare con Kiev. Lo annuncia il governo tedesco. #Scholz ha parlato con il presidente ucraino #Zelensky prima di sentire il leader russo.
@UltimoraPolitics
La polizia tedesca ha fatto irruzione nell’abitazione dello scrittore, giornalista ed ex parlamentare del partito di Unione Cristiano-Democratica (CDU) Jürgen Todenhöfer, a Monaco di Baviera, per una serie di post sui social in cui criticava il primo ministro israeliano Benjamin Netanyahu.
Secondo quanto riferito da Todenhöfer, gli agenti hanno confiscato telefoni e dispositivi digitali dopo aver monitorato la sua abitazione. “Un tribunale tedesco ha avviato un procedimento penale contro di me, emettendo un mandato di perquisizione e di sequestro di tutti i miei dispositivi, perché ho criticato duramente Netanyahu e Scholz”, ha dichiarato lo scrittore.
Nel post X al centro dell’indagine, Todenhöfer scriveva: "Signor Netanyahu, la sua coscienza non protesta mai quando fa ai palestinesi quello che i maledetti nazisti hanno fatto agli ebrei?".
#germany#netanyahu#scholz
Retour à l'histoire
Les tentatives de l’#Occident de réécrire l’histoire n'étonnent plus personne, sauf que cette fois-ci, il s’agit d’une tragédie mondiale, et d'un exploit pour toute l’humanité. Pour Olaf #Scholz, c’est aux États-Unis que l’#Allemagne doit sa liberté. Notre reporter Igor Kourachenko nous rejoint avec toutes les précisions.
RT en français • Osez questionner !
🇩🇪#Germania - Il cancelliere tedesco Olaf #Scholz ha rifiutato nettamente la proposta del ministro delle Finanze, Christian #Lindner, di indire nuove elezioni. - BILD
@UltimoraPolitics