Три способа выполнить множество задач с 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
Цветущая Владимирская Богородица
Цветы часто имеют символическое значение, связанное с чистотой и непорочностью Пресвятой Богородицы, а также с ее ролью в истории спасения.
#новаяработа#владимирсккя богородица #christianart
#chris@christvector@AlexandrTsypkov
Дмитрий Зарва
«Новый Завет», диптих
Холст/акрил
180х120 / 180х120
Мф.26:26 И когда они ели, Иисус взял хлеб и, благословив, преломил и, раздавая ученикам, сказал: приимите, ядите: сие есть Тело Мое.
Мф.26:27 И, взяв чашу и благодарив, подал им и сказал: пейте из нее все,
Мф.26:28 ибо сие есть Кровь Моя Нового Завета, за многих изливаемая во оставление грехов.
В качестве композиционной основы диптиха взяты прориси фресок XIV века Церкви Успения Пресвятой Богородицы на Волотовом поле в Новгородской области, полностью разрушенной во время Великой Отечественной Войны и восстановленной в наши дни.
Диптих иллюстрирует события Тайной Вечери. Этот фрагмент Евангелия достаточно труден в понимании. Ученики Христа не смогли до конца осознать идею преображения, изменения Человека, которую предложил им Христос.
Диптих создан для проекта «После Иконы: reконструкция»
#послеиконы#постикона#апокрифарт#aftericonproject#reконструкция#christianart
Дмитрий Зарва
«Новый Завет», диптих
Холст/акрил
180х120 / 180х120
Мф.26:26 И когда они ели, Иисус взял хлеб и, благословив, преломил и, раздавая ученикам, сказал: приимите, ядите: сие есть Тело Мое.
Мф.26:27 И, взяв чашу и благодарив, подал им и сказал: пейте из нее все,
Мф.26:28 ибо сие есть Кровь Моя Нового Завета, за многих изливаемая во оставление грехов.
В качестве композиционной основы диптиха взяты прориси фресок XIV века Церкви Успения Пресвятой Богородицы на Волотовом поле в Новгородской области, полностью разрушенной во время Великой Отечественной Войны и восстановленной в наши дни.
Диптих иллюстрирует события Тайной Вечери. Этот фрагмент Евангелия достаточно труден в понимании. Ученики Христа не смогли до конца осознать идею преображения, изменения Человека, которую предложил им Христос.
Диптих создан для проекта «После Иконы: reконструкция»
#послеиконы#постикона#апокрифарт#aftericonproject#reконструкция#christianart