在 AWS Lambda 中不会触发 on exit 事件
Posted
技术标签:
【中文标题】在 AWS Lambda 中不会触发 on exit 事件【英文标题】:on exit event does not fire in AWS Lambda 【发布时间】:2020-12-28 22:46:32 【问题描述】:当我在 AWS Lambda 上运行此代码时,没有任何记录,尽管当我使用无服务器(框架)在本地调用此代码时,它确实会记录。我有什么遗漏的吗?
exports.handler = async () =>
process.on("exit", (code) =>
console.log("process exit code: ", code);
);
;
【问题讨论】:
我不能 100% 确定,但我相信一旦 Lambda 代码完成,您将无法处理代码。 【参考方案1】:AWS Lambda 中没有这样的事件可以知道容器何时停止。 当您在本地运行代码时触发的“退出”事件是一个 Node.js 事件,并且不受 AWS Lambda 实施的支持。
您可以在这里找到关于如何处理数据库连接的讨论:AWS Lambda Container destroy event
【讨论】:
【参考方案2】:即使在 API 响应之后,Lambda 端点仍然保持活动状态。真正的退出发生在处理请求的容器在 15 分钟后被释放。
【讨论】:
以上是关于在 AWS Lambda 中不会触发 on exit 事件的主要内容,如果未能解决你的问题,请参考以下文章
API 创新不会触发 AWS API Gateway 的基于自定义请求的 lambda 授权方
如何使用AWS Lambda和SNS事件触发Spring Cloud功能的重试