我注意到Cloud Watch日志中的持续时间与功能运行时间问题以及我的Nodejs Lambda函数。我使用无服务器插件来部署/编码我的功能。
这是我的lambda函数代码:
module.exports.handler = function (event, context, cb) {
console.time("function_run_time");
myFunction(function (callback) {
console.timeEnd("function_run_time");
return cb(null, callback)
});
};
在云计算日志中,我得到以下内容
2016-05-25T00:18:58.881Z 45cd0785-ccce-11e6-818f-cb61404e173c function_run_time: 477ms
REPORT RequestId: 45cd0785-ccce-11e6-818f-cb61404e173c Duration: 1866ms Billed Duration: 1900 ms Memory Size: 1024 MB Max Memory Used: 39 MB
我想知道为什么函数运行时间为477ms,但持续时间为1866ms。
我的代码中是否有东西需要调用才能更早结束Lamdba函数?
由于
答案 0 :(得分:0)
在调用回调后检查代码是否正在运行 见这里:aws lambda
默认情况下,回调将等到Node.js运行时事件循环为空,然后冻结进程并将结果返回给调用者。您可以将此属性设置为false,以请求AWS Lambda在调用回调后立即冻结进程
此外,如果您使用Lambda的older version节点,则应该致电
context.succeed();
和context.fail(error)
结束此功能。