永远在哪里监视代码?

我正试图build立永远的监控。

我把这个添加到我的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(); 

但是,当我从命令行启动我的应用程序,它logging“app.js已经退出3启动”,但它仍然运行。 这个代码应放在哪个文件中? 我是否错过了永久监视器的用法?

以下是永久监视器的工作原理

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(); 

app.js

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

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

老实说,我只是forever使用,而不是forever-monitor (尽pipe我知道它在永远的文档中谈到它)。 我创build了一个名为start.js的文件,并使用node start.js运行我的应用程序。

 'use strict'; var forever = require('forever'); var child = new (forever.Monitor )('app.js', { //options : options } ); //These events not required, but I like to hear about it. child.on( "exit", function() { console.log( 'app.js has exited!' ); } ); child.on( "restart", function() { console.log( 'app.js has restarted.' ); } ); child.on( 'watch:restart', function( info ) { console.error( 'Restarting script because ' + info.file + ' changed' ); } ); //These lines actually kicks things off child.start(); forever.startServer( child ); //You can catch other signals too process.on( 'SIGINT', function() { console.log( "\nGracefully shutting down \'node forever\' from SIGINT (Ctrl-C)" ); // some other closing procedures go here process.exit(); } ); process.on( 'exit', function() { console.log( 'About to exit \'node forever\' process.' ); } ); //Sometimes it helps... process.on( 'uncaughtException', function( err ) { console.log( 'Caught exception in \'node forever\': ' + err ); } );