Три способа выполнить множество задач с 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
✨Особняк Ф. К. Сан-Галли
Построенный в стиле флорентийского палаццо, этот особняк — словно кусочек Ренессанса в центре Петербурга 🏛. Каждая деталь его архитектуры хранит атмосферу эпохи, когда ценили красоту, гармонию и индивидуальность.
Сегодня особняк живёт насыщенной жизнью: здесь проходят камерные концерты 🎶, выставки, лекции, квесты, презентации и даже свадьбы. Это место, где история встречается с современностью, а величие архитектуры становится фоном для самых разных событий.
📍 Лиговский пр., 62
📸 Фото: @yyamalovaa
#сангалли#особнякиспб#архитектураспб#кудасходитьспб#спбфото#историяспб#spbplaces#spbafisha
Где провести вечер? Что посмотреть? Все ответы — в Куда сходить в Санкт-Петербурге.
💊Хотите заглянуть в старинную аптеку?
«Аптека доктора Пеля» — одно из самых атмосферных мест Петербурга. Основана в середине XIX века и до сих пор хранит дух старого города. Здесь всё пропитано историей: аптечные шкафы из красного дерева, флаконы с латинскими надписями, весы и старинная парфюмерия.
А в подвале — особая атмосфера: там можно увидеть воссозданную алхимическую лабораторию и бомбоубежище времён блокады.
Идеальное место, чтобы почувствовать дыхание прошлого и сделать пару атмосферных фото 📸
📍 7-я линия В. О., 16
📆 Пн-Вс 11:00–20:00
🎟️ от 300 руб.
🔗 Подробнее на сайте: https://aptekapelya.ru/
#кудасходитьвпитере#аптекатопеля#музеипетербурга#петербургскаяистория#spbtrip#атмосферныйпитер#spbplaces#питернавсегда#бесплатныесобытияпетербурга
Петербург ближе, чем кажется — будь в курсе интересного с Куда сходить в Санкт-Петербурге.