Три способа выполнить множество задач с 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
#Elezioni#Slovacchia#Presidenziali
Peter #Pellegrini (#Hlas|S&D) eletto nuovo Presidente della Repubblica Slovacca. L'ex Primo Ministro sarà la 6° figura politica a ricoprire la carica di capo dello Stato.
@OsservatorioEsteri
#Slovacchia
Il #KDH|EPP ha presentato una mozione di sfiducia nei confronti del Vice-Presidente del Parlamento slovacco Lubos #Blaha (#Hlas|S&D), dopo che quest’ultimo ha sostituito il ritratto, presente nel suo ufficio, della Presidente #Čaputová con quello di Che Guevara.
@OsservatorioEsteri
#Slovacchia
Peter #Pellegrini (#Hlas|S&D): “Proseguiremo le trattative solo con #Smer|S&D e #SNS|Destra radicale russofila. Ritengo insostenibile una coalizione con #PS|RE, #KDH|EPP e #SaS|ECR, perché i membri di questi partiti hanno già iniziato ad attaccarsi a vicenda pochi giorni dopo le elezioni.”
@OsservatorioEsteri
#Slovacchia
È stata pubblicata la lista del governo di Robert #Fico (#Smer|S&D):
-Primo Ministro: Robert Fico (Smer);
-Vicepremier e Ministro della Difesa: Robert #Kaliňák (Smer);
-Vicepremier e Ministra dell'Economia: Denisa #Saková (#Hlas|S&D);
-Vicepremier e Ministro dell'Ambiente: Tomáš #Taraba (#SNS/#Život|Estrema destra cristiana);
-Ministro delle Finanze: Ladislav #Kamenický (Smer);
-Ministro dei Trasporti: Jozef #Ráž Jr. (Smer);
-Ministro dell'Agricoltura: Richard #Takáč (Smer);
-Ministro degli Investimenti, dello Sviluppo Regionale e dell'Informatizzazione: Richard #Raši (Hlas);
-Ministro dell'Interno: Matúš Šutaj #Eštok (Hlas);
-Ministro della Giustizia: Boris #Susko (Smer);
-Ministro degli Esteri: Juraj #Blanár (Hlas);
-Ministro del Lavoro e della Famiglia: Erik #Tomáš (Hlas);
-Ministro dell'Istruzione e dello Sport: Tomáš #Drucker (Hlas);
-Ministro della Cultura: Martina #Šimkovičová (#SNS|Destra radicale russofila);
-Ministra della Salute : Zuzana #Dolinková (Hlas);
-Ministro del Turismo: Ján #Krišanda (SNS).
@OsservatorioEsteri