nodejs 简易守护进程

来源:互联网 发布:网络正常微信连接不上 编辑:程序博客网 时间:2024/05/22 04:44

正常情况下 进程出现未捕获异常时候,会退出,
但有时候当工作进程比较重要,出现异常时候希望能够重启一个新进程继续工作,这时需要使用到守护进程

主要逻辑:主进程监听子进程的exit 事件,当子进程exit的时候,重新fork一个新的工作进程

var cluster = require('cluster');let index = 0;if (cluster.isMaster) {    var worker = cluster.fork();    //守护进程,当监听到  工作进程退出 的时候,重新fork 一个工作进程    worker.on("exit",function(){        cluster.fork();    })    // 守护进程,当监听到disconnect 的时候,重新fork 一个工作进程    //cluster.on('disconnect', function (worker) {    // cluster.fork();    //})} else {    setInterval(function () {        console.log(index++);        // 当是5的倍数的时候 抛出异常        if (!(index % 5)) {            throw new Error("异常")        }    }, 1000)}