Три способа выполнить множество задач с 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
😶🌫️Добавили скидку -15% на все товары отEvolast Gear!
— Вся линейка ковров, а так же рукава и грипсы:
Ares➖Hades➖Poseidon➖Aquaris➖Zeus
🙂Успей купить по лучшим ценам, пока есть возможность — ReShip.pro
КАТАЛОГ • МЕНЕДЖЕР • #EVOLAST
🏬Ковры Crescent Olympus Series в наличии!
🔘POSEIDON
Размеры 490x420 мм, гладкая быстрая поверхность, материал полиуретан с рисунком карбона, твердость xSoft
🔴ARES
Размеры 490x420 мм, гладкая контрольная поверхность, материал полиуретан с рисунком карбона, твердость xSoft
🟡HADES
Размер: 490 мм x 420 мм, контрольная поверхность, материал полиуретан с рисунком карбона, твердость xSoft
— То что нужно для стильного сетапа и лучшего комбо, так же сейчас есть уникальная возможность собрать сет с мышкой Poseidon
🏳️Цена на каждый 3.990₽ - так же в наличии есть стеклопады, рука и грипсы от Crescent*
КАТАЛОГ • МЕНЕДЖЕР • #EVOLAST
😇Стеклянный ковер CRESCENT ZEUS — то что нужно для К-Комбо!
⚡️Размер 500х400
⚡️Толщина стекла 2 мм
⚡️Силиконовая основа на всю поверхность 1мм
⚡️Тип скорости - Легкий контроль
— У нас вы сможете найди и другие ковры и аксессуары серии Crescent Olympus от Evolast Gear
🏦Цена: 9.990₽ - в наличии*
КАТАЛОГ • МЕНЕДЖЕР • #EVOLAST
💎Быстрый коврик от Crescent с потрясающим принтом Богини - POSEIDON
🔘Поверхность из лайкры и нейлона , обеспечивающая мягкую и приятную для кожи текстуру
🔘Размер 490х420
🔘Подложка из порона с рисунком карбона
🔘Мягкость Xsoft
💎Принт совершенно не ощущается рукой и никак не испортится со временем
💳Цена 3.990₽
ОФОРМИТЬ ЗАКАЗ • КАТАЛОГ • #EVOLAST