簡體   English   中英

如何在Nodejs ChildProcess.exec中計算執行時間

[英]How to compute execution time in Nodejs ChildProcess.exec

我們有一個API請求可以登錄我們的用戶,如下所示:

...

//lauches an API request

router.post("/trip/analyse",function(req,res){

    t0 = Date.now();

    shell = ("sudo /usr/bin/python /mypythonFile");

    child = exec(shell, function (error, stdout, stderr) {

      if (error) { //There is an error

        res.json({"Error" : true});

        console.log(Date.now() - t0);  // <-------- HERE, How to get this right ?

      }else{ //everything went fine

        res.json({"Error" : false});

        console.log(Date.now() - t0);  // <-------- HERE, How to get this right ?

      }

    });

});
...

我看到打印的執行時間不正確,因為當許多用戶同時登錄時,用於計算executionTime的“ t0”值(“ Date.now()-t0”)沒有正確計算。 它使用此API請求的最新調用的t0值,而不是適當的t0值。

這是因為exec方法是異步的,需要花費一些時間來執行。

我該如何正確執行丟失原始t0變量的執行時間(“ Date.now()-t0”)?

我只需要放

var t0 = Date.now();

而且有效!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM