Три способа выполнить множество задач с 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
🚫🔔 La MLB anunció que a Max Kepler se le ha impuesto una suspensión de 80 partidos por dar positivo en la prueba de Epitrenbolona. Kepler es actualmente un agente libre.
#️⃣#Kepler
🗞 | t.me/MLB_Daily
🪐 The exoplanet Kepler-16b orbits not one, but two stars, forming a real-life counterpart to a Tatooine-like world in the constellation Cygnus. This Saturn-sized planet experiences double sunrises and sunsets as it circles both its orange and red dwarf hosts, creating a celestial theater found nowhere in our own solar system. ✨
#exoplanets⚡#binaries⚡#kepler⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
Новый гаджет? Откладываем! А что не откладываем? 🎉✨
Жизнь полна ярких эмоций и новых образов! 💞Почему бы не сосредоточиться на том, что действительно важно?
Смените фокус и найдите свой идеальный оттенок синего в ТРК “ПроВыходной”!💙🔍 Здесь вас ждут невероятные находки от лучших брендов: Летуаль, Kepler, Gipfel, Zenden, Milana, Modi и много других! 🛍️🫴
Представьте, как вы сияете в новой одежде или с новым ароматом! 😍✨ У вас бывали моменты, когда хотелось одного, а приходилось делать другое? Пора менять правила игры! 💪🔥
Давайте создавать яркие образы и запоминающиеся моменты вместе!💖
#ТРКПроВыходной#шопинг#летуаль#kepler#zenden
Специальные скидки только 4 июня! Не пропустите!
#трцвыходной#люберцы#trcvykhodnoy#выходной#АкцииВыходной#скидкиВыходной#Mango#Terranova#Kepler#MikoYumi#Карамелли#GloriaJeans
#модныйпоказ#моделивыходного#звездывыходного#fashionshow#ямодель#фешнизпрофешн