AWS Lambda 回调被开放的 mongodb 连接阻止



我已经设置了一个AWS lambda来为我做一些数据保存到MongoDB。我想重用连接,这样我就不必在每次调用 lambda 时都创建新连接。但是,如果我使数据库连接保持打开状态,则 Lambda 处理程序的回调将不起作用!

是不是我做错了什么,造成了这种行为?这是我的代码:

var MongoClient = require('mongodb').MongoClient
exports.handler = (event, context, callback) => {
    MongoClient.connect(process.env.MONGOURL, function (err, database) {
        //database.close();
        callback(null, "Successful db connection")
    });
}
这是

由于未设置context.callbackWaitsForEmptyEventLoop = false 引起的。 如果保留为默认true,则回调不会导致 Lambda 返回响应,因为您的数据库连接使事件循环不为空。

http://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-context.html

最新更新