在 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功能的重试

aws lambda 上的保留并发不会阻止 lambda 进行更多扩展?

AWS lambda 函数 python/pyspark

用于创建 EMR 集群的 Lambda 不会触发集群创建

如何匹配 aws cloudwatch 日志中的多个模式以触发 lambda