Три способа выполнить множество задач с 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
#Italia#VdA
Dopo oltre tre ore di dibattito sulla crisi della maggioranza regionale, il Conseil Fédéral, il parlamentino degli oltre 50 delegati del #UV riunitosi ieri sera all'auditorium di Quart, ha deciso, con otto astenuti e un voto contrario, di dare mandato alla commissione politica del Mouvement di continuare a trattare con tutte le forze politiche, senza preclusioni.
Rimangono due le strade possibili: un allargamento della maggioranza autonomista-progressista o un ribaltone con una maggioranza Lega-UV.
@UltimoraPolitics
#Italia#Elezioni#VdA
Prima di queste elezioni, la situazione dei sindaci nei 4 comuni della Valle d'Aosta era:
#UV|Centro valdostano: 3
Commissario per comuni sciolti per mafia: 1
L'UV ha già perso due dei comuni che governava.
@UltimoraPolitics
🌍 The ozone layer over Antarctica thins each spring, creating a seasonal "ozone hole" that lets more harmful UV rays reach Earth’s surface. Recovery is slow, but international bans on certain chemicals are helping. ✨
#ozone⚡#environment⚡#UV⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
#Italia#VdA
Continua il caos nella politica valdostana, con una risoluzione alla crisi che sembra ancora lontana.
Cristina #Machet, presidente di #UV|Centro Valdostano: "Non c'è nessun accordo già stabilito, non c'è nessuna intesa che stiamo nascondendo."
@UltimoraPolitics
#Italia#Elezioni#VdA
Il civico Enrico #Montanari è stato eletto sindaco di Issime, essendo l'unico candidato. L' #UV|Centro valdostano perde quindi il controllo del comune.
@UltimoraPolitics
#Italia#Elezioni2022
Si compatta il fronte autonomista valdostano: #UV, #AV e #Mouv: "Crisi assurda, serriamo i ranghi e prepariamoci alle elezioni."
@UltimoraPolitics