Как использовать Puppeteer в Yandex Cloud Serverless контейнере
Запустить браузер в Serverless окружении довольно просто. В этой статье я покажу как использовать Puppeteer в Yandex Cloud Serverless контейнере.
Запустить браузер в Serverless окружении довольно просто. В этой статье я покажу как использовать Puppeteer в Yandex Cloud Serverless контейнере.
Redis — это одна из самых популярных баз данных, используемая для кэширования и хранения данных. В этой статье мы рассмотрим, как работать с Redis из Serverless-функций в Yandex Cloud.
А именно, попробуем замерить время доступа к Redis из Serverless-функций и сравним его в разных условиях.
В логах Serverless-функций вы можете увидеть код ответа 499. Что это значит и что делать, если вы видите его в логах?
У меня уже есть пост про то как запустить FastAPI в Serverless контейнере на Yandex Cloud, а также пост как в функции запустить популярные JS фреймворки. Пришло время взять понемногу из этих постов и запустить FastAPI в Serverless функции. Для этого нам понадобится python библиотека Mangum. Она не сказать что очень активно поддерживается. Это заметно и по истории коммитов и по тому что они упустили домен, где была документация и теперь там лежит рекламный блог. Недавно разработку подхватил другой разработчик. Восстановил документацию и это дает надежду на то что проект будет развиваться дальше.
То, что функция в один момент времени обрабатывает один запрос, а после выполнения инстанс функции подчищает все ресурсы, позволяет не задумываться о корректном закрытии таких ресурсов. Например, можно спокойно не закрыть открытый на чтение временный файл. И в этом действительно не будет никаких проблем, до тех пор пока в сервис не придет нагрузка.
В принципе тут все просто и логирование в облачных функциях работает «из коробки». Т.е. все что вы залогируете во время выполнения функции будет доступно в Cloud Logging. Но есть некоторые нюансы, о которых я хочу рассказать.
В прошлом посте на эту тему я рассказал о том, как можно использовать очереди сообщений для асинхронного вызова облачных функций в Яндекс Облаке. В этом посте я расскажу о том, как можно сделать это еще проще и удобнее.
В принципе весь процесс описан в документации, но там упомянут всего один фреймворк - Sanic, а тут мы разберем как запустить Fastapi.
Для начала создадим проект на основе примера Web API.
В прошлом Serverless Full Text Search я рассмотрел JavaScript библиотеку для in-memory полнотекстового поиска Lyra. Почему я выбрал именно ее? Во-первых, именно на доклад про неё я наткнулся на YouTube. Во-вторых, мне понравилась её универсальность и возможность притащить её в браузер.