Три способа выполнить множество задач с 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
❗️BIRINCHI MARTA❗️MAORI TUB AHOLISINING AYOL VAKILI YANGI ZELANDIYA TASHQI ISHLAR VAZIRLIGIGA BOSHCHILIK QILADI.
📢Yangi Zelandiya Bosh vaziri #Jasinda#Ardern yangi parlament vazirlarini e'lon qildi, shu jumladan #Nanaia#Mahuta ni tashqi ishlar vaziri etib tayinlashini ham; u bu lavozimni egallaganmamlakatdagi birinchi tub aholi ayoli bo'ldi.
👩💼 Maori taraqqiyoti va mahalliy o'z o'zini boshqarish masalalari vaziri vazifasini o'z ichiga olgan 25 yillik siyosiy tajribaga ega Mahuta dunyodagi eng xilma-xil bo'lib borayotgan parlamentga qo'shildi.
✨ Undan tashqari yana 16 ta maori vazirlari bor, ammo Nanaia hozircha ular orasida yagona ayoldir.
"Men bu jamoadan juda mamnunman", deydi Ardernning o'zi.
Bizga obuna bo'ling 👉@Diplomatika
SIYOSATDAGI SUPER - ONA 💪:
⁉️Agar siz hali ham karyera va onalikning bir-biriga mos kelishiga shubha qilsangiz, bizning zamonamizning qahramoniga bir nazar tashlang!
#Jasinda#Ardern - bu hukumat boshlig'i lavozimida bo'lganida onaga aylangan ikkinchi hukumat rahbari! ❤️ 1990-yilda, o'sha paytda Pokiston Bosh vaziri bo'lgan #Benazir#Bhutto xuddi shu lavozimda bo'lgan paytida ona bo'lgan edi. Qiziqarlisi, Jasindaning qizi Benazir Bhuttoning tug'ilgan kunida tug'ilgan😇
Bizga obuna bo'ling 👉@Diplomatika