Три способа выполнить множество задач с 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
🕷
Во всем есть свой порядок и своя структура. Даже в беспорядке.
📎 198
📷 Зенит 11 / Гелиос 44М 2/58
🎞 Kodak Double-X 5222
📆 09_2024
🧪 Пародинал 1+50, 21°С - 8 мин
📌 iso 250
#zenit11
#kodak
#kodakdoublex
Небесная акварель
Поймала вдохновение от музыки.
"Как нелепо жить вниз головой, когда такое небо есть надо мной" (А. Иванов)
🎵 Боже, какой пустяк - А. Иванов
📎 269
📆 08_2025
🗺 г. Калининград
📷 Zenit 11 / Гелиос 44М 2/58
🎞 Kodak Ektar 100
🧪 C41
📌 iso 100
#zenit11
#kodak
#kodakektar
Невидимое становится видимым
📎 224
📆 02_2025
📷 Зенит 11 / Гелиос 44М 2/58
🎞 Ilford Pan 400
🧪 D-76 1+1, 20°С - 13 мин
📌 iso 400
P.S. но так было не всегда.
Только чуть больше года я сама проявляю плёнки
#zenit11
#ilford
#ilfordpan400
очередная лотерея 🎰
Моя первая катушка советского цвета, естественно с вышедшим сроком хранения. Кадры смотрятся как винтажные открытки, со своей историей.
📎 108
📆 06_2023
🗺 Калининградская область
📷 Zenit 11 / Гелиос 44М 2/58
🎞 Svema CO65 (ехр. 1988)
🧪 C41
📌 iso 64
Р.S. со второй катушкой такой же плёнки, лотерею я не выиграла. Но об этом в следующий раз.
#zenit11
#svema
#svemaco65
Стеклянная мозаика времени 💠
Гуляя по городу, приметила эти витражи, которые сохранились по сей день. Масштаб и красота покорили меня.
Стеклянные полотна рассказывают свои истории, для каждого здания они свои.
Верхнее фото - дворец пионеров
Два нижних - кусочки витража отделения почты
Phoenix подошёл сюда идеально 🙌🏼
📎 258
📆 07_2025
🗺 г. Павлово, Нижегородская область
📷 Zenit 11 / Гелиос 44М 2/58
🎞 Harman Phoenix
🧪 C41
📌 iso 200
P.S. сколько смотрю, не могу развидеть в отражении витража дворца пионеров - какого-то пушистого/ колючего монстра 👾 или муху, с большими красными глазами 🤭
#zenit11
#harman
#harmanphoenix