在node.js中,如何在处理uncaughtException中的异常时重新启动服务器

sac*_*hin 1 node.js uncaught-exception

在我的应用程序中我使用uncaughtException来处理应用程序错误.在这个如何重新启动服务器.

Dan*_*iel 5

使用forever模块.

npm install forever
Run Code Online (Sandbox Code Playgroud)

forever 无论出于何种原因,它会在退出时重启您的服务器.

这意味着您可以process.exit();在希望服务器重新启动时随时执行代码.

你需要一个启动和停止脚本来永远参与.

典型的启动脚本看起来像这样.

#!/bin/sh
./node_modules/forever/bin/forever \
 start \
 -al log.forever \
 -ao log.traffic \
 -ae log.errors \
app.js
Run Code Online (Sandbox Code Playgroud)

典型的停止脚本如下所示:

#!/bin/sh
./node_modules/forever/bin/forever stop app.js
Run Code Online (Sandbox Code Playgroud)

在您的异常处理代码中看起来像这样:

process.on('uncaughtException', function (err) {
    console.log(err.stack);
    process.exit();
});
Run Code Online (Sandbox Code Playgroud)