AWS Lambda持续时间与功能运行时间

时间:2016-05-25 00:39:15

标签: javascript node.js amazon-web-services lambda serverless-framework

我注意到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函数?

由于

1 个答案:

答案 0 :(得分:0)

在调用回调后检查代码是否正在运行 见这里:aws lambda

  

默认情况下,回调将等到Node.js运行时事件循环为空,然后冻结进程并将结果返回给调用者。您可以将此属性设置为false,以请求AWS Lambda在调用回调后立即冻结进程

此外,如果您使用Lambda的older version节点,则应该致电 context.succeed();context.fail(error)结束此功能。