2

我有一个永远运行的 nodejs 应用程序forever start service.js -w。现在我想检查特定service.js应用程序的正常运行时间(而不是系统正常运行时间)。

是否有软件包或可能性可以在运行时从service.js应用程序内轻松检查自最近一次启动以来的正常运行时间或时间?

例如:这样我就可以建立一个显示最近重启时间戳的休息服务。

谢谢

4

2 回答 2

2

我更喜欢以下没有全局变量的方法。

@neelsg 您的解决方案将迫使我startTime = new Date();在 app.js 中编写语句以使其全局可访问。

简单的模块

示例/lastStart.js

var startTimestamp;

module.exports.getTimestamp = function () {
    if (!startTimestamp) {
        startTimestamp = new Date();
    }
    return startTimestamp;
};

节点应用启动时初始化:

应用程序.js

require('./example/lastStart').getTimestamp();

并访问时间戳

示例/服务

var lastStart = require("./lastStart");

exports.route = function (req, res) {
    res.json({started: lastStart.getTimestamp()});
}
于 2014-11-07T09:39:20.223 回答
-3

不确定这是否对您有用,但为什么不在脚本一开始就将变量设置为当前时间呢?

var startTime = new Date();

这样,如果您需要弄清楚它已经运行了多长时间,只需将其与当前时间进行比较即可。这具有完全独立于以及与您的环境相关的任何其他事物的优势

于 2014-11-06T11:40:37.570 回答