Три способа выполнить множество задач с 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
🔥 Подводим итоги апреля на MICE Backstage!
В этом месяце особенно ярко проявили себя участники, которые не только делились знаниями и опытом, но и создавали ощущение настоящей профессиональной команды.
Лидером месяца апреля заслуженно становится Анастасия Макарова — 🥇[@Stasyadrive] за невероятную активность, инициативность и тот самый “drive”, который вдохновляет!
Почётное второе место у🥈Aleksandra M [@aleksandra_komo] — за поддержку и вовлечённость в жизнь сообщества.
Третье место занимает🥉Andrey Krinitskiy [@Qwell_Andrey] — за стабильную экспертную позицию и участие в ключевых обсуждениях.
Спасибо вам за вклад в развитие MICE Backstage!
Впереди — май и новые герои!
#MICEBackstage#ЛидерыМесяца#MICECommunity
🔥 Подводим итоги февраля на MICE Backstage!
В этом месяце особенно отличились наши активные участники, которые не только делились полезной информацией, вовлекали коллег в обсуждения, но и создавали ту самую атмосферу профессионального комьюнити.
Лидером месяца февраля заслуженно становится Андрей Криницкий – 🥇 за яркую активность, экспертность и вовлеченность в жизни чата!
Почетное второе место у 🥈Анастасии Макаровой, а третье – у 🥉Евгении Меркуловой. Спасибо за ваш вклад в развитие нашего сообщества!
Поздравляем победителей и ждем новых звезд марта!
#MICEBackstage#ЛидерыМесяца#MICECommunity
@micebackstage — все об MICE-индустрии в мире
🎉 Новогодний марафон продолжается! 🎉
Четверг — маленькая пятница, а значит, самое время для подарков и поздравлений! ✨
Сегодня эстафету принимает команда Busfer вместе с их харизматичным PR-директором Ириной Горшковой.
Ребята щедро добавляют в нашу праздничную копилку сертификат на трансфер в аэропорт или обратно по бизнес-тарифу по всей России! 🛫🚘 Комфортные поездки — гарантированы, ведь они умчат или примчат вас с максимальным удобством! 💼✨
А еще Busfer отправляет вам самые теплые пожелания в преддверии Нового года! ❄🎄💫
Продолжаем наш праздничный марафон — как думаете, кто будет следующим? 😉
#MICEBackstage#НовогоднийМарафон#Busfer#Подарки2024#КомфортныеПоездки#ПраздничноеНастроение#МаленькаяПятница#MICECommunity#НовогодниеПоздравления