lambda在尝试访问mongo时超时

时间:2016-07-20 09:24:09

标签: node.js mongodb aws-lambda

我写了一个简单的mongo测试,尝试在vpc中访问mongo服务器。 对于我得到的每次运行:“errorMessage”:“***任务在3.00秒后超时” 我已经在lambda中编写了更多的处理程序来检查它。

  1. 连接到vpc没有问题。连接到另一台服务器的其他处理程序(同一文件)运行良好。
  2. 其他模块没有问题。我添加了另一个模块(make-random-string),每次都在运行。
  3. 我没有收到任何错误消息。 Mongo没有例外。它每次都会超时。
  4. 将内存增加到1024并将执行时间增加到15秒没有帮助,结果是一样的。
  5. Mongo驱动程序不需要任何C ++构建,除非你使用kerberos,我不是。
  6. 模仿lambda的测试文件,运行正常。
  7. 示例代码在此处:http://pastebin.com/R2e3jwwa,其中删除了数据库信息。
  8. 感谢。

2 个答案:

答案 0 :(得分:3)

听起来很奇怪,我们最终只是将callback(null, response)更改为context.done(null, response)来解决问题。这个废话让我们花了比我们想要在这里花费更多的时间。

您可以在https://github.com/serverless/serverless/issues/1036

找到有关此问题的更多信息

答案 1 :(得分:0)

我遇到了同样的问题。解决方案是将数据库连接对象移到处理程序方法之外并缓存/重用它。

这里我添加了更多关于它的细节: https://stackoverflow.com/a/67530789/10664035