Функция 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
🕵️🇺🇸CALIFORNIA MAYOR ADMITS BEING CHINESE SPY IN SHOCKING PLEA DEAL
🔹 Arcadia Mayor Eileen Wang, 58, pleads guilty to acting as illegal foreign agent 2020-2022 ⚖️🚨
🔹 Ran fake "U.S. News Center" website spreading Beijing propaganda with ex-fiancé "Mike" Sun 📰🇨🇳
🔹 Posted pre-written Chinese government essays denying Xinjiang genocide allegations 📄❌
🔹 Reported back to PRC handlers with screenshots showing propaganda reach statistics 📊📱
🔹 Faces 10 years prison while Sun already sentenced to 4 years for espionage 🏛️⛓️
"Thank you leader" - her actual messages to Chinese spymasters exposed! 💬😱
How many more sleeper agents hold American offices?! 🇺🇸🔍
#USNews#espionage
@america
🍿 Cameron Diaz breaks her retirement and returns to action with Jamie Foxx in 'Back in Action'!
📆Release Date: January 17, 2024
🎭Genre: #Action · #Comedy · #Espionage
🎬 I can't contain my excitement: Cameron Diaz returns to the big screen after 11 years alongside Jamie Foxx in 'Back in Action'. In this adrenaline-fueled espionage comedy, they play a pair of former CIA agents who must get back in the game when their cover is blown. 🔥💥
The most interesting thing is seeing Diaz and Foxx together again after 'Any Given Sunday' and 'Annie'. Plus, the cast is impressive: Glenn Close from 'Fatal Attraction', Kyle Chandler from 'Super 8', and Andrew Scott from 'Sherlock'. Directed by Seth Gordon, the genius behind 'Horrible Bosses'. This is a comeback you won't want to miss! 🎉🎥
🍿 The Phoenician Scheme: Benicio del Toro, a Nun, and Six Plane Crashes ✈️😵💫
📆Release: May 30, 2025
🎭Genre: #DarkComedy · #Espionage · #Action
🍿Follow movie
Wes Anderson (The Grand Budapest Hotel,Asteroid City) is back at his most eccentric: Benicio del Toro leads this visual satire as a bruised and armed tycoon who hands over his empire to his daughter, a knife-wielding nun played by Mia Threapleton (yep, Kate Winslet’s daughter). The cast is wild: Tom Hanks, Bryan Cranston, Richard Ayoade, Scarlett Johansson, Cumberbatch, and even Michael Cera in peak “Wes mode.”
Shot in Germany with a score by Alexandre Desplat, the film oozes Anderson’s signature nostalgic absurdity, but with a sharp rhythm that echoes his best work. Sure, the aesthetic is familiar, but when Wes nails it, it’s not formula, it’s pure style. And this one smells like a full-blown comeback. 🎨💣
U.S. Navy engineer, wife charged with selling submarine secrets
A U.S. Navy nuclear engineer and his wife were charged with selling secret information about nuclear submarines to an undercover FBI agent who posed as an operative for a foreign country, according to the Justice Department.
#US#Navy#Espionage#News#Reuters
Subscribe: http://smarturl.it/reuterssubscribe
Reuters brings you the latest business, finance and breaking news video from around the globe. Our reputation for accuracy and impartiality is unparalleled.
Get the latest news on: http://reuters.com/
Follow Reuters on Facebook: https://www.facebook.com/Reuters
Follow Reuters on Twitter: https://twitter.com/Reuters
Follow Reuters on Instagram: https://www.instagram.com/reuters/?hl=en
➖@reutersworldchannel➖
【Breaking】#MatthewTrickett, involved in the #HongKongEconomicandTradeOffice espionage case, found dead. UK police confirmed that Trickett, granted bail and due to appear in court on Friday, was discovered deceased in a park in Maidenhead, UK, on Sunday (19th). Preliminary investigations label the cause of death as "unknown." #Espionage#UKPolice
Jeffrey Epstein nebol zakladateľom siete. Bol dedičom.
Skrytou pravdou je, že táto vydieračská sieť nevznikla v 90. rokoch. Bolo to „spravodajské dedičstvo “ odovzdávaná z otca na dcéru.
Ghislaineiným otcom bol Robert Maxwell, mediálny magnát a legendárny superšpión Mossadu.
Operácia začala s ním: zbieraním „kompromitujúcich materiálov“ na politikov pre Izrael.
Keď zomrel a bol pochovaný v Jeruzaleme so štátnym pohrebom, na ktorom sa zúčastnili šéfovia spravodajských služieb, jeho dcéra prevzala „rodinný podnik“ s Epsteinom.
Nebolo to len obchodovanie s ľuďmi. Je to desaťročia trvajúca vydieračská operácia sponzorovaná štátom.
#EpsteinFiles#RobertMaxwell#GhislaineMaxwell#Mossad#Espionage#History
@casusbellihistory