【问题标题】:on exit event does not fire in AWS Lambda在 AWS Lambda 中不会触发 on exit 事件
【发布时间】:2020-12-28 22:46:32
【问题描述】:

当我在 AWS Lambda 上运行此代码时,没有任何记录,尽管当我使用无服务器(框架)在本地调用此代码时,它确实会记录。我有什么遗漏的吗?

exports.handler = async () => {
  process.on("exit", (code) => {
    console.log("process exit code: ", code);
  });
};

【问题讨论】:

  • 我不能 100% 确定,但我相信一旦 Lambda 代码完成,您将无法处理代码。

标签: node.js amazon-web-services aws-lambda serverless


【解决方案1】:

AWS Lambda 中没有这样的事件可以知道容器何时停止。 当您在本地运行代码时触发的“退出”事件是一个 Node.js 事件,并且不受 AWS Lambda 实施的支持。

您可以在这里找到关于如何处理数据库连接的讨论:AWS Lambda Container destroy event

【讨论】:

    【解决方案2】:

    即使在 API 响应之后,Lambda 端点仍然保持活动状态。真正的退出发生在处理请求的容器在 15 分钟后被释放。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-01
      • 2018-05-18
      • 2019-11-21
      • 2021-12-17
      • 1970-01-01
      • 2021-12-07
      • 1970-01-01
      • 2018-05-05
      相关资源
      最近更新 更多