如果我在无服务器功能结束时没有关闭数据库连接,我的脚本将挂起并超时。
我希望有一种方法可以在任何无服务器功能结束时运行清理功能,这将关闭活动数据库连接等。
module.exports.create = (event, context, callback) => {
user.insert({
//user details
}).then((results) => {
responseHelper.success(JSON.stringify(results), callback);
}, (error) => {
// Connection error
responseHelper.error(error, callback);
});
// I don't want to have this at the end of every function
// I'd rather run it in a cleanup step which runs on all functions
db.closeConnections();
}
答案 0 :(得分:1)
首先,user.insert()
返回一个Promise并在它仍然需要时关闭连接后立即调用db.closeConnections()
。要实现您的目标,应在db.closeConnections()
参数之前调用callback
。
在执行db.closeConnections();
参数之前,您可以在帮助函数responseHelper.success()
和responseHelper.error()
中调用callback
。我想这些函数只写一次并由你所有的lambda处理程序共享。