Lambda函数随机抛出RuntimeError: Failed to get next问题求助
随机出现的AWS Lambda RuntimeError排查求助
我在使用AWS Lambda函数时随机遇到RuntimeError: Failed to get next异常,出现概率约20%,不确定是否为AWS Lambda本身的问题。
错误回溯信息
RuntimeError: Failed to get next File "bootstrap.py", line 480, in <module> main() File "bootstrap.py", line 462, in main event_request = lambda_runtime_client.wait_next_invocation() File "lambda_runtime_client.py", line 49, in wait_next_invocation response_body, headers = rapid_client.next()
Dockerfile内容
FROM public.ecr.aws/lambda/python:3.8 RUN yum install -y gcc gcc-c++ git libxml2 libxml2-devel libxml2-python libxslt libxslt-devel mesa-libGL mesa-libGL-devel wget nss nss-util zip unzip \ pango atk at-spi2-atk gtk3 libXcomposite libXcursor libXdamage libXext libXi libXtst cups-libs libXScrnSaver libXrandr GConf2 alsa-lib ARG PIP_INDEX_URL COPY requirements/base.txt ./requirements.txt COPY requirements/test.txt ./test_req.txt RUN pip install -r requirements.txt COPY service.py ./ COPY local-chromium /var/task/local-chromium RUN python3.8 -m spacy download en_core_web_sm RUN python3.8 -m spacy download es_core_news_sm ENV PYTHONPATH=$(pwd) CMD ["service.handler"]
排查建议
- 调高Lambda内存配置:镜像包含Chromium和spaCy模型,内存占用较高。默认128MB可能不足以支撑运行时稳定通信,尝试调至512MB或更高,观察异常是否减少。
- 检查超时设置:如果函数执行时间接近超时阈值,可能导致等待下一次调用时出现连接异常,确认超时时间覆盖实际执行时长。
- 清理Chromium资源:检查
service.py中是否正确关闭浏览器实例,避免资源泄漏导致容器内资源耗尽,影响后续调用的运行时客户端。 - 验证依赖兼容性:确认requirements.txt中的依赖与Python 3.8 Lambda运行时版本兼容,排除依赖包和Lambda bootstrap运行时的冲突。
- 排查AWS服务侧问题:查看CloudWatch日志对应请求ID,确认是否有AWS侧错误提示;若频繁出现,可联系AWS支持确认是否存在服务波动。
内容的提问来源于stack exchange,提问作者ALTAF HUSSAIN
相关产品推荐
相关产品推荐

