Три способа выполнить множество задач с 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
🫡Обновляем информации о сроках получения Glsswrks Polarity:
🗓К сожалению, сроки поставки Polarity сдвинулись. Производитель сообщил, что из-за производственных пауз в период праздников отгрузка перенесена на конец марта. Соответственно, мы ожидаем их на склад в конце апреля.
Эта ситуация стала для нас неприятным сюрпризом и создает нам немало сложностей, так как мы планировали получить товар гораздо раньше. Приносим извинения за это ожидание 😔
— Пока товар в пути, вы можете воспользоваться моментом и оформить с Новогодней скидкой 7% на предзаказы🎄
🟢L (Deep Black/Frosted Ice) — 11.430₽
🟢XL (Deep Black/Frosted Ice) — 12.453₽
САЙТ • МЕНЕДЖЕР • #GLSSWRKS
✅GLSSWRKS POLARITY — открытие предзаказа. Модель является ихновым стандартном.
✅Гладкая поверхность с сбалансированной скоростью
✅Японское стекло Glanova ®
✅Толщина всего 2 миллиметра
✅Кастомная силиконовая подложка
— Доступен в двух размерах: L (420 x 490 мм) и XL (560 x 480 мм). Начальный объем ограничен и пополнение будет после января или позже.
💳Цена: 11.675₽ — на ReShip.pro (скидка 5% первую неделю)
САЙТ • МЕНЕДЖЕР • #GLSSWRKS
🐶Ковры GLSSWRKS ZANE уже у нас!
— Все предзаказы будут отправлены и выданы уже сегодня, для оформления Курьера/Самовывоза напишите нашим менеджерам💬
Остался всего один ковёр, цена 12.990₽ — А уже всё🔨
КАТАЛОГ • МЕНЕДЖЕР • #GLSSWRKS
💃Открыт предзаказ на новинку GLSSWRKS ZANE — Лимитированный стеклопад с тиражом 2.500 шт, несколько из которых уже доступны к предзаказу у нас
🟣Самый быстрый в линейке GLSSWRKS
🟣Сильно текстурированная поверхность
🟣Размер 490 на 420 миллиметров
🟣Толщина 2 миллиметра
🟣Силиконовая кастомная подложка
🟣Инновационные закругленные края
🟣Глайды в комплекте
🔍Доступен в очень ограниченном количестве по цене 12.990₽- эксклюзивно в ReShip
КАТАЛОГ • МЕНЕДЖЕР • #GLSSWRKS