我在执行 lambda 函数时收到“完成请求之前退出进程”。
当我检查云手表中的日志时,它会显示错误信息
“无法对关闭的存储桶执行操作。” 或者有时它说
{ "errorMessage": "Client-Side timeout exceeded for operation. Inspect network conditions or increase the timeout",
"errorType": "CouchbaseError",
"stackTrace": []
}
我正在使用以下 npm 包与数据库服务器进行通信:couchbase、ottoman。
下面是exports.handler 函数:
exports.handler = function(event, context, callback) {
function sendResponse(error, data) {
ottoman.bucket.disconnect();
console.log("error : ", error);
console.log("data : ", data);
callback(error, data);
}
console.log("17", event);
if(event.id != undefined) {
user.find({ _id: event.id }, function(error, result) { //this line generates the error
if (error) {
sendResponse(error, null);
}
console.log("22 : ", result);
});
}
});
下面是我的数据库连接文件:
var couchbase=require('couchbase');
var ottoman=require('ottoman');
var config = require("./config");
var myCluster = new couchbase.Cluster(config.couchbase.server);
module.exports.bucket = myCluster.openBucket(config.couchbase.bucket,function (error) {
if(error) {
console.log(error);
}
module.exports.bucket.operationTimeout=20000;
module.exports.bucket.n1qlTimeout=100000;
console.log("Successfully opened igt bucket");
ottoman.bucket = module.exports.bucket; });
我们也有 user.find() 方法的替代函数,比如 user.getById() 但它给出了同样的错误。
什么可能导致这个问题。