Три способа выполнить множество задач с 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
Con 147 voti favorevoli e 67 contrari la #Camera approva il ddl intercettazioni, che modifica la disciplina della durata delle intercettazioni. Il provvedimento, già approvato dal Senato, è legge.
@UltimoraPolitics
La #Camera ha approvato in via definitiva il disegno di legge delega che punta a superare i test di ingresso per l'accesso ai corsi di laurea magistrale in medicina e chirurgia, in odontoiatria e protesi dentaria e in medicina veterinaria. Il testo, già approvato al Senato, ha ottenuto 149 sì e 63 no.
@UltimoraPolitics
La #Camera ha approvato il DDL Spazio. I sì sono stati 133, i no 89 e gli astenuti 2. Il provvedimento passa ora all'esame del Senato. @UltimoraPolitics
La #Camera ha approvato il DDL Spazio.
I sì sono stati 133, i no 89 e gli astenuti 2. Il provvedimento passa ora all'esame del Senato.
@UltimoraPolitics
#Camera: Noi Moderati cambia nome, si chiamerà Noi Moderati—Centro Popolare. Al gruppo asseriscono anche le ex-calendiane Gelmini, Carfagna e Versace, che lasciano il misto
@UltimoraPolitics
La #Camera approva la mozione di maggioranza che impegna il governo a "sostenere nelle opportune sedi internazionali iniziative finalizzate al riconoscimento dello Stato di Palestina", nel quadro di una "soluzione negoziata fondata sulla coesistenza di due Stati sovrani e democratici"
@UltimoraPolitics
#Camera — Il Governo ha posto la questione di fiducia sul disegno di legge recante ulteriori disposizioni urgenti per l'attuazione del PNRR.
@UltimoraPolitics
Con 132 sì, 86 no e un astenuto, la #Camera approva la proposta di legge che punta a istituire la commissione d'inchiesta "sull'operato del governo e sulle misure da esso adottate per prevenire e affrontare l'emergenza Covid-19". Il testo, già passato all'esame del Senato, diventa dunque definitivo
@UltimoraPolitics
Mes, la commissione Bilancio della Camera è convocata questa mattina alle 9.30 per esprimere il parere sulla ratifica. La discussione è attesa alla #Camera nella seduta di oggi. Il provvedimento si trova al terzo punto dell'odg dell'Aula
@UltimoraPolitics