Три способа выполнить множество задач с 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
Barbacoa plegable, para guardarla en cualquier sitio mientras no la usas. Simple y práctica. #Barbacoa#BarbacoaPlegable
https://www.milideaspararegalar.es/producto/barbacoa-plegable/
💻www.milideaspararegalar.es
Barbacoa plegable, para guardarla en cualquier sitio mientras no la usas. Simple y práctica. #Barbacoa#BarbacoaPlegable
https://www.milideaspararegalar.es/producto/barbacoa-plegable/
💻www.milideaspararegalar.es
Barbacoa plegable, para guardarla en cualquier sitio mientras no la usas. Simple y práctica. #Barbacoa#BarbacoaPlegable
https://www.milideaspararegalar.es/producto/barbacoa-plegable/
💻www.milideaspararegalar.es
📱 ¡Jueves tecnológico y de preparativos para el finde!
Hoy destacamos la tablet Xiaomi Redmi Pad 2 Pro con un 36% de descuento (se queda en 193€) y zapatillas adidas Galaxy 7 a muy buen precio. Si planeas plan de exterior, el set de barbacoa en acero inoxidable por 13€ y la radio con powerbank son imprescindibles. ¡Ah, y camiseta Levi's básica a mitad de precio! 🥩👟
👇 Selección del día:
🔥 XIAOMI Redmi Pad 2 Pro por 193€ (-36% dto)
amzn.to/4tS808x
🔥 adidas Zapatillas Galaxy 7 por 32,9€ (-40% dto)
amzn.to/3P2Cg0g
El
🔥 Levi'S The tee Camiseta por 12,5€ (-50% dto)
amzn.to/4kWgS8Z
🔥 Utensilios Barbacoa Acero Inox por 13€ (-35% dto)
amzn.to/40vX56N
🔥 Radio Portatil con Powerbank por 27€ (-10% dto)
amzn.to/46uVZMd
🔥 KOOTION Memoria USB 128G por 11€ (-12% dto)
amzn.to/3N0MuxE
#Xiaomi#adidas#Barbacoa#OfertasAmazon#Ahorro