Три способа выполнить множество задач с 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
Smile is the only curve that sets things in straight line.
Harsh from Gujarat pens down a thought on smile...!!
Do you know what's satisfying?
When you make someone smile while they were crying.
That smile which holds fire to shine from within, But helplessness just dims their light within.
The smile that wants to burst out laughing,
But their situation insists them to shed another drop of tear.
We can just take a small initiative.
Don't show hatred towards anyone in their low
You never know, when that low might turn everything around.
If possible bring a smile on someone's face
The satisfaction you'll gain can't be expressed.
God's above seeing this, will smile too
And in your life you'll surely ace.
~Harsh
#review#smile
Smile is the only curve that sets things in straight line.
Harsh from Gujarat pens down a thought on smile...!!
Do you know what's satisfying?
When you make someone smile while they were crying.
That smile which holds fire to shine from within, But helplessness just dims their light within.
The smile that wants to burst out laughing,
But their situation insists them to shed another drop of tear.
We can just take a small initiative.
Don't show hatred towards anyone in their low
You never know, when that low might turn everything around.
If possible bring a smile on someone's face
The satisfaction you'll gain can't be expressed.
God's above seeing this, will smile too
And in your life you'll surely ace.
~Harsh
#review#smile