哪里永远存放监控代码?

san*_*ooh 3 node.js forever

我想设置永远监视器.

我把它添加到我的app.js:

var forever = require('forever-monitor');

var child = new(forever.Monitor)('app.js', {
    max: 3,
    silent: true,
    options: []
});

child.on('exit', function() {
    console.log('app.js has exited after 3 restarts');
});

child.start();
Run Code Online (Sandbox Code Playgroud)

但是,当我从命令行启动我的应用程序时,它记录'app.js已经在3次启动后退出'但它仍然运行.该代码应放在哪个文件中?我错过了关于forever-monitor的使用方法吗?

tak*_*ola 6

这是永远监视器的工作方式

app_fm.js

var forever = require('forever-monitor');

var child = new(forever.Monitor)('app.js', {
    max: 3,
    silent: true,
    options: []
});

child.on('exit', function() {
    console.log('app.js has exited after 3 restarts');
});

child.start();
Run Code Online (Sandbox Code Playgroud)


app.js

// put in all your great nodejs app code
console.log('node app is now running');
Run Code Online (Sandbox Code Playgroud)


现在,从CLI通过键入
node app_fm 启动您的应用程序

  • 通过永久监视器无限期地重新启动应用程序通常不是一个好主意.大多数时候您的应用程序崩溃,这将是由于代码中的错误,如果您重新启动,它将再次崩溃.重复这9999999次将是令人沮丧的.我使用forever-monitor进行开发,即每次代码库更改时重新启动应用程序而不是生产.如果您想要一个在生产环境中重新启动应用程序的解决方案,则应该使用upstart.这是我为此写的一个教程http://handyjs.org/article/the-kick-ass-guide-to-deploying-nodejs-web-apps-in-production (3认同)