Три способа выполнить множество задач с asyncio
Функция для примера:
async def do_it(n):
await asyncio.sleep(random.uniform(0.5, 1))
return n
1. Последовательный вызов
async def main():
for i in range(100):
result = await do_it(i)
Такой вызов имеет смысл только тогда, когда результат одной задачи требуется для вызова следующей.
Если они независимы, то это антипаттерн, так как аналогичен простому синхронному вызову по очереди.
2. Упорядоченный результат
async def main():
tasks = [do_it(i) for i in range(100)]
results = await asyncio.gather(*tasks)
Выполняет корутины конкурентно и возвращает результат в виде списка.
Полезен когда требуется получить результаты в том же порядке в котором задачи отправлены.
3. Результат по мере готовности
tasks = [asyncio.create_task(do_it(i)) for i in range(100)]
for cor in asyncio.as_completed(tasks):
result = await cor
Так же выполняет корутины конкурентно, но не гарантирует порядок. Результат возвращается по мере готовности, каждый отдельно.
Полезен когда нужно обработать любой ответ как можно скорее.
#async
La question énergétique prend de l'ampleur en #Europe
Depuis que l'Ukraine a interrompu le transit du gaz russe, la question énergétique devient de plus en plus alarmante pour les Européens. Les détails avec notre reporter Antoine Cléraux.
RT en français • Osez questionner !
🇪🇺#EuropeВ 3х странах Европы за сутки выявили более 100 000 новых случаев коронавируса (в каждой из стран) ⚠️☝️
💬 Как только стали объявлять о завершении пандемии, за последние сутки в Италии выявили 132 000 новых случаев ковида.
💬 Аналогичная ситуация в Германии: инфекцию обнаружили у 130 000 человек,
💬 Во Франции – 119 000 граждан заболело ковидом.
⏺Qu’en est-il réellement des « drones russes » qui effraient tant l'#Europe ?
La « menace russe » semble être devenue l'explication par défaut de tous les phénomènes en Europe. Les autorités européennes accusent la #Russie bien avant d'avoir obtenu le moindre détail, et ces accusations s'avèrent souvent – comme on pouvait s'y attendre – infondées. Les précisions de notre reporter Antoine Cléraux.
RT en français • Osez questionner !
🗣L’#Europe discute du transfert de composants d’armes nucléaires à l’#Ukraine
Selon la diplomatie russe, l’Europe a discuté du transfert de composants d’armes nucléaires à l’Ukraine. La menace nucléaire est-elle une réalité ? Les précisions avec notre reporter, Daria Vaganova.
RT en français • Osez questionner !
#Europe#UE
La Commissione Europea valuta la possibilità di creare un secondo recovery fund per l'energia. In questo ore giro di consultazioni tra stati membri per sondare la fattibilità della proposta.
@UltimoraPolitics
🇺🇸États-Unis : stocks sous pression
Selon The New York Times, la guerre contre l’#Iran a entraîné une consommation massive de munitions américaines, notamment plus de 1 100 missiles JASSM-ER, ainsi qu’un volume élevé de Tomahawk, Patriot et ATACMS.
Face à cette intensité, le Pentagone a dû redéployer des équipements depuis l’#Europe et l’Asie vers le Moyen-Orient, réduisant sa marge de manœuvre sur d’autres théâtres. Le coût du conflit est estimé entre 28 et 35 milliards de dollars, dont 5,6 milliards dès les premiers jours.
La reconstitution des stocks s’annonce lente et complexe, posant la question de la capacité des États-Unis à soutenir durablement plusieurs conflits à haute intensité.
RT en français • Osez questionner !
The name Italy comes from the Oscan(an extinct southern Italy language) word víteliú, meaning “calf land,” perhaps because the bull was a symbol of the Southern Italian tribes.
@googlefactss#nowyouknow#europe
🇨🇭🇷🇺🇺🇸🇪🇺 Une image de Vladimir Poutine et Donald Trump, entourés de dirigeants européens de taille réduite, a été publiée par le journal suisse NZZ.
L'article qui suit est intitulé "Trump, Poutine et beaucoup de nains: pourquoi l'Europe ne grandit pas". Selon le journal, l'Europe n'est pas un partenaire qui traite d'égal à égal avec les États-Unis et "ne le sera jamais".
#russie#europe#étatsunis
❗️L’#Ukraine demande de nouveau que l’#Europe la finance
À Kiev, le budget national a été calculé en prévision de la poursuite du conflit militaire en 2026. Mais il y a un bémol... Zelensky demande à ses alliés occidentaux une somme deux fois supérieure à celle prévue dans le projet de budget national. Les détails avec notre reporter, Igor Kourachenko.
RT en français • Osez questionner !