0

如果我的数据库无法连接,我需要终止所有工作人员......

if (cluster.isMaster) {
    mongoose.connect(config.db.path, function(err) {
        if (err) {
            logger.error('Can\'t connect to database')
            // kill all workers here
            process.exit()
            return
        }
    })
}
4

2 回答 2

1

您可能想使用cluster.disconnect()

在 cluster.workers 中的每个 worker 上调用 .disconnect()。

当它们断开连接时,所有内部句柄都将关闭,如果没有其他事件在等待,则允许主进程正常终止。

该方法接受一个可选的回调参数,该参数将在完成时调用。

这只能从主进程调用。

还有一个可选参数传递给此函数 -callback <Function>当所有工作人员断开连接并关闭句柄时调用该参数。

于 2016-04-19T12:23:34.903 回答
0

通过使用列出所有工作人员

集群工作者

然后使用 cluster.worker.kill() 函数结束它们。

于 2016-04-19T12:05:35.683 回答