У меня есть Flask API, работающий на API Gateway и лямбда-функциях, где мои лямбда-функции настроен для запуска в моем VPC .
Обычная продолжительность для моей лямбда-функции должна составлять около 3 секунд, но иногда она достигает 130 или более секунд, что приводит к тому, что мой API-шлюз возвращает 504.
Лямбда-функция выполняет GET-запрос, используя библиотеку requests
:
url = base_url + endpoint
req = requests.get(url, headers=headers)
response = json.loads(req.content.decode('utf-8'))
CloudWatch показывает следующую ошибку в запросе, который истекает:
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='host', port=port): Max retries exceeded with url: /foo/bar (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at foo>: Failed to establish a new connection: [Errno 110] Connection timed out'))
Большинство всех постов, которые я прочитал, относятся к неправильно настроенной лямбда-функции, работающей в частной подсети, но я знаю, что это не моя проблема, так как мои функции имеют доступ к Интернету.
Моя другая теория заключается в том, что сеанс повторно используется в базовом контейнере функции, что вызывает тайм-аут.
Заранее спасибо за помощь!
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.