Три способа выполнить множество задач с 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
Meni ishim haqida kwork'dagi mijoz fikri❤️
Hozirgi buyurtmam, qaysidir "dizayner" chizib bergan dizaynini qaytadan chizib beryapman. Menimcha, bu mijozga yoqyapti...
P.S. Bizdagi mijozlar, ha mayli... Mijozim qaysi soha vakili ekanligini tahmin qilib ko'ring va izohga yozib qoldiring))
@suxrobblog > #kwork#buyurtma
Dizayn bo'yicha buyurtma olish uchun o'zimizda frilans guruhlari bormi?
— Aynan, UX/UI dizayn bo'yicha buyurtma olish bo'yicha o'zimizda guruhlar mavjud emas. Lekin...
✅Mijozlar topish bo'yicha tavsiyalar berib ketishim mumkin, lekin:
1. O'z ustingizda ishlang, portfolio'da ishlar soni va sifatini oshiring;
2. AyTi'ga aloqador tanish bilishni ko'paytiring, turli xil dasturchilar meetup'lariga ham borib turishingiz mumkin, shunda ular bilan tanishib kontaktlashib turishingiz mumkin. Bizni sohada netvorking juda muhim, tanish bilish orqali asosiy mijozlar kelishi mumkin;
3. Instagramda video ko'rish o'rniga, siz ham ular kabi video kontent tayyorlashga kirishing. Soha bo'yicha O'zingizni yaxshi ko'rsata olsangiz, Instagram va Facebookdan ham oyiga kamida 1-2ta mijoz kelib turishi mumkin;
4. Mijozlar oqimiga erishmaguncha, bepul xizmatlar ko'rsatishni yo'lga qo'yishingiz mumkin.
P.S. Divanda yotishni bas qiling))
@suxrobblog
#mavzu#buyurtma#mijoz#savol_rublikasi