1

Ich bemerkte eine Laufzeit vs Funktion Laufzeitproblem im Cloud Watch-Protokoll mit meiner Nodejs Lambda-Funktion. Ich benutze das Serverless-Plugin, um meine Funktionen zu implementieren/zu codieren.AWS Lambda Dauer vs Funktion Laufzeit

Das ist mein Lambda-Funktion Code:

module.exports.handler = function (event, context, cb) { 
    console.time("function_run_time"); 
    myFunction(function (callback) { 
     console.timeEnd("function_run_time"); 
     return cb(null, callback) 
    }); 
}; 

In Wolke Uhr meldet Im den folgenden

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 

bekomme ich frage mich, warum die Funktion der Laufzeit bei 477ms ist jedoch die Dauer bei 1866ms ist .

Gibt es etwas in meinem Code, das ich aufrufen muss, um die Lamdba-Funktion früher zu beenden?

Dank

+0

Die Zeit sollte beim nachfolgenden Aufruf reduziert werden. Der Overhead wird ausgegeben, indem lamda einen Container für die Ausführung der Funktion zuweist. – Shibashis

Antwort

0

Überprüfen Sie, ob Sie Code ausgeführt haben, nachdem Sie Rückruf nennend Siehe hier: aws lambda

Standardmäßig wird der Rückruf warten, bis die Node.js Runtime Ereignisschleife vor dem Einfrieren ist leer der Prozess und die Ergebnisse an den Aufrufer zurückgeben. Sie können diese Eigenschaft auf false gesetzt AWS Lambda zu beantragen bald den Prozess gefrieren, nachdem der Rückruf

auch genannt wird, wenn Sie einen older version des Knotens mit Lambda verwenden Sie context.succeed(); und context.fail(error) beenden die Funktion aufrufen sollte.

+0

Vielen Dank für Ihre Eingabe, die Dauer wurde nach dem Ausführen der Funktion ein paar Mal reduziert. Aber ich werde mir ansehen, was Sie vorgeschlagen haben! – tony