【问题标题】:AWS Lambda Error: Quit inactivity timeout at QuitAWS Lambda 错误:Quit 时退出不活动超时
【发布时间】:2019-12-03 14:59:28
【问题描述】:

我在 AWS Lambda 上遇到一个奇怪的问题,我的 API 调用失败并出现 502 错误,
我检查了 CloudWatch 日志,在这些情况下,连我记录事件对象的第一行代码都没有打印出来
函数调用肯定没有到达我的代码的 DAO 层。

日志显示以下跟踪 -

2019-07-25T08:03:55.668Z    2329a426-a841-4ce2-91ed-1000c623ba14    Error: Quit inactivity timeout
at Quit.<anonymous> (/opt/layer/node_modules/mysql/lib/protocol/Protocol.js:160:17)
at emitNone (events.js:106:13)
at Quit.emit (events.js:208:7)
at Quit._onTimeout (/opt/layer/node_modules/mysql/lib/protocol/sequences/Sequence.js:124:8)
at Timer._onTimeout (/opt/layer/node_modules/mysql/lib/protocol/Timer.js:32:23)
at ontimeout (timers.js:482:11)
at tryOnTimeout (timers.js:317:5)
at Timer.listOnTimeout (timers.js:277:5)

这是这个奇怪请求的日志示例 -

我这个 API 行为不一致,
这些失败调用甚至不打印我的处理程序的第一行
我正在使用node 8.10 和 mysql lib "mysql": "^2.17.1"

【问题讨论】:

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


    【解决方案1】:

    你好吗?

    我遇到了同样的问题,我很简单地解决了:

    我改变了connection.end();通过connectionn.destroy();

    destroy 在执行其功能后立即终止与 DB 的连接。 “结束”是异步的,这可能是错误的原因。

    看:

    "要立即强制关闭连接,可以使用destroy()方法。destroy()方法保证不会再为连接触发回调或事件。 请注意,destroy() 方法不像 end() 方法那样接受任何回调参数。”

    字体:https://www.mysqltutorial.org/mysql-nodejs/connect/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      • 2022-01-10
      • 1970-01-01
      • 2020-03-22
      • 2019-04-03
      • 2021-06-08
      相关资源
      最近更新 更多