Три способа выполнить множество задач с 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
¡A la democracia popular en Venezuela no la para nadie! Nos vinimos a la Sala de Autogobierno de la Comuna “Estrella del Sur” en el Cementerio para afinar los detalles de cara a la fiesta electoral de mañana #23nov. En las calles de Venezuela se respira patriotismo, amor, paz y voluntad de SEGUIR VENCIENDO ¡Vamos!
El programa "Con Maduro +" N° 97, de primer nivel, estuvo cargado de noticias, anuncios y procesos.
Les comparto los puntos clave:
📌 Lo que hacemos semanalmente es una agenda científica que se conjuga con la construcción del Poder Nacional.
📌 Hemos encontrado el camino con el Plan de los 13 Motores que consolidan la economía real y productiva.
📌 ¡Con la verdad! Se está levantando un gran movimiento de opinión publica en los EE.UU. que rechaza firmemente las agresiones contra Venezuela.
📌 Este martes #18Nov a las 6:00 p.m., nos uniremos en oración por la Paz junto a nuestros hermanos cristianos de las iglesias de #EEUU.
📌 El que quiera dialogar encontrará siempre en nosotros gente de palabra, decente y con experiencia para dirigir a Venezuela.
📌 Con el ALBA, estamos a la orden para apoyar y ayudar a #Jamaica en todo lo que haga falta.
📌 He solicitado a los ministros Ernesto Villegas y Diosdado Cabello que inicien las gestiones necesarias para rescatar los restos mortales del Gran Mariscal Antonio José de Sucre.
📌 Con los CBBI estamos construyendo una inteligencia popular activa que forja respuestas colectivas con el Pueblo.
📌 El próximo domingo #23Nov todos a votar por los proyectos en las comunidades.
“Bienaventurados los pacificadores porque ellos serán llamados hijos de Dios”, Mateo 5:9