Три способа выполнить множество задач с 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
We would like to share CEFR results from our MAIN branch, a.ka. home of real achievers 🥳🔥
Abrorbek Patiddinov B2/52
Nozimaxon Akbarova: B2/53
And Muhammadali Abdumalikov C1/65
Their teacher: Mr.Shermuhammad
🎉 Congratulations on their initial academic accomplishments!!! 🎉
And, we hope to see them get high results from IELTS, as well!
We also would like to extend our gratitude to their teacher, Mr. Shermuhammad, for his tireless efforts to produce such results week in and week out! 🤝
To join our courses, call 742281121
#studentssuccess
ADC - The Way To Knowledge
We would like to share CEFR results from our MAIN branch, a.ka. home of real achievers 🥳🔥
So, here we go!
Bexruz; B2/53 (L and R: 58)
Shoxjahon; B2/58 (L 64 and Sp 66)
Rahmonberdi; B2/54 (L 57 and Sp 56)
Diyora; B2/61 (L 73 🥳 R 67 🔥)
And Asliddin; C1/66 (L 70 and R 68)
🎉 Congratulations on their initial academic accomplishments!!! 🎉
And, we hope to see them get high results from IELTS, as well!
We also would like to extend our gratitude to their teacher, Mr. Shermuhammad, for his tireless efforts to produce such results week in and week out! 🤝
To join our courses, call 742281121
#studentssuccess
ADC - The Way To Knowledge
YANA BIR BAND 7️⃣.0️⃣👑
🤜BAND 7.0🤜
LISTENING: 7.0 🚀
READING: 7.5 🤓
WRITING: 6.5✍️
SPEAKING: 7.0 🔥
Full Name: Charos Rustamova👑
Attempt: 1st ✨
With British Council
Age: 16 🤯
Teacher: Mr. Shermuhammad (8.5)
General English, working hard and choosing the right teacher are the key elements to success in IELTS🍸
#ieltsresult#studentssuccess#band70#mainoffice
THINK IELTS, THINK ADC