Lambda函数在完成后超时

时间:2018-11-05 23:49:08

标签: node.js amazon-web-services aws-lambda

我有一个lambda函数,该函数可以正确完成(我到达console.log()行),但是仍然超时。我曾尝试使用lambda-local进行调试,但找不到保持位置。我在处理程序函数中读取了多个应该包含context.callbackWaitsForEmptyEventLoop = false的位置,但这没有任何区别。我是否还有其他遗漏或未调用的内容,导致该函数无法超时?在consol.log()函数,END RequestID和REPORT RequestID函数被打印后,此错误被打印2018-11-05T23:42:24.357Z 705cea03-e154-11e8-8089-87f7086f1090 Task timed out after 3.00 seconds

这是我的处理程序的功能:

exports.handler = function(event, context, callback) {
    context.callbackWaitsForEmptyEventLoop = false
    let alexa = Alexa.handler(event, context);
    alexa.APP_ID = APP_ID;
    // To enable string internationalization (i18n) features, set a 
resources object.
    alexa.resources = languageStrings;
    alexa.registerHandlers(handlers);
    alexa.execute();
    console.log("You made it.")
};

1 个答案:

答案 0 :(得分:1)

您缺少回调。

exports.handler = function(event, context, callback) {
    context.callbackWaitsForEmptyEventLoop = false
    let alexa = Alexa.handler(event, context);
    alexa.APP_ID = APP_ID;
    // To enable string internationalization (i18n) features, set a 
resources object.
    alexa.resources = languageStrings;
    alexa.registerHandlers(handlers);
    alexa.execute();
    console.log("You made it.")
    callback(null,"Complete");
};

自从您禁用callbackWaitsForEmptyEventLoop以来。它将等到您启动callback函数调用。

希望有帮助。