Node.js集群不分叉

时间:2018-12-11 14:49:06

标签: node.js server

我正在尝试在Node.js应用程序中实现集群。

当我使用fork()方法打印出在for循环内产生了多少工人时,它什么都不打印。

如果我将coreCounter变量打印出来,它也= 0。

这是我的代码:

let cluster = require('cluster');

if (cluster.isMaster) {

    let coreCounter = require('os').cpus.length;

    for (let i = 0; i < coreCounter; i++) {
        cluster.fork();
    }

    cluster.on('exit', function () {
        cluster.fork();
    });
} else {
    require('server.js');
}

我尝试过npm install cluster和npm install os,它不起作用,如果我“需要”某些东西,我是否必须进行npm install?

1 个答案:

答案 0 :(得分:0)

您只需要在cpus之后添加()

查看此处:

let cluster = require('cluster');

if (cluster.isMaster) {

    let coreCounter = require('os').cpus().length;

    for (let i = 0; i < coreCounter; i++) {
        cluster.fork();
    }

    cluster.on('exit', function () {
        cluster.fork();
    });
} else {
    //require('server.js');
    console.log('walla!')
}

您不应该npm install NodeJS核心模块。

P.S。我建议您在实施集群之前先使用NodeJS进行一些练习