如何将主线程中的信息传递给节点集群中的工作线程?

时间:2018-02-15 06:41:55

标签: node.js mongodb

我有一个带有群集的节点应用。我想将数据库连接的数量保持为1,但我找不到将数据库实例从主线程传递给子节点的方法。

代码看起来像这样。

const express = require('express'),
cluster = require('cluster'),
numCPUs = require('os').cpus().length,
exec = require('child_process').exec,
app = express(),
dbInstance = require('./mongodb').getInstance;
if (cluster.isMaster) {
        for (let i = 0; i < numCPUs; i++) {
      cluster.fork();
    }
 else if (cluster.isWorker) {
    app.listen(4000);
}

为所有工作人员调用db实例,最终得到8个实例。我怎么能在主人那里做一次呢?

此外,如果我杀死其中一个工作人员,dbConnection仍会处于活动状态还是会自动关闭?

0 个答案:

没有答案