Три способа выполнить множество задач с 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
Озеро Туз в Каппадокии 🇹🇷 — это место, где земля превращается в зеркало. 🌌 Белоснежная гладь соляной поверхности простирается до самого горизонта, и кажется, будто ты идёшь по облакам. Каждый шаг — лёгкий хруст, а отражение неба под ногами создаёт ощущение, что ты застрял между двумя мирами.
Когда солнце клонится к закату, озеро окрашивается в розовые и оранжевые тона, и вся Каппадокия будто замирает, чтобы посмотреть на это волшебство. 💫 Здесь не нужны фильтры — природа сама подкидывает лучший кадр.
Туз — не просто озеро, это символ тишины и величия. Место, где мысли становятся чище, а сердце — легче.
💡 Лайфхак: захвати яркую одежду или лёгкий шарф — на фоне белоснежной глади фото будут выглядеть как кадры из кино. 🎬
А вы бы рискнули пройти босиком по соляной глади или просто любовались бы этой красотой со стороны? 😉
#Chatik#Чатик#Каппадокия#Турция
💦🌿 Водопад Гит-Гит — магия природы на Бали 🇮🇩
⠀
Скрытый в джунглях острова, водопад Гит-Гит — это настоящее природное сокровище 💧. Потоки воды срываются с высоты в окружении сочной зелени и тумана, создавая ощущение, будто ты попал в фильм про магический лес.
⠀
📍 Находится на севере Бали — недалеко от города Сингараджа.
🌿 Дорога к нему — это сама по себе приключение: тропинка проходит через рисовые поля и тропические заросли.
⠀
💡 Лайфхак: прихвати с собой купальник и полотенце — внизу водопада можно искупаться! А рано утром здесь почти никого нет 😉
⠀
Бали умеет удивлять. А этот водопад — одно из тех мест, куда хочется вернуться.
⠀
#Chatik#Чатик#Бали#Индонезия