最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

NodeJs Cluster.Fork不是一个函数

IT培训 admin 6浏览 0评论

NodeJs Cluster.Fork不是一个函数

我使用这个简单的行代码,我得到这个错误。我使用Node v10.15

var cluster = require('cluster');
var s = cluster.fork();

错误

TypeError: cluster.fork is not a function
    at Object.<anonymous> (C:\Users\sdss\Documents\Coding\NodeJs\a.js:17:17)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)
回答如下:

检查集群fork启动是否需要,cpus长度和它是否为master。以下代码

    const cluster = require('cluster');
    const http = require('http');
    const numCPUs = require('os').cpus().length;

    if (cluster.isMaster) {
      masterProcess();
    } else {
      childProcess();  
    }

    function masterProcess() {
      console.log(`Master ${process.pid} is running`);

      for (let i = 0; i < numCPUs; i++) {
        console.log(`Forking process number ${i}...`);
        cluster.fork();
      }

      process.exit();
    }

    function childProcess() {
      console.log(`Worker ${process.pid} started and finished`);

      process.exit();
    }

NodeJs Cluster.Fork不是一个函数

我使用这个简单的行代码,我得到这个错误。我使用Node v10.15

var cluster = require('cluster');
var s = cluster.fork();

错误

TypeError: cluster.fork is not a function
    at Object.<anonymous> (C:\Users\sdss\Documents\Coding\NodeJs\a.js:17:17)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)
回答如下:

检查集群fork启动是否需要,cpus长度和它是否为master。以下代码

    const cluster = require('cluster');
    const http = require('http');
    const numCPUs = require('os').cpus().length;

    if (cluster.isMaster) {
      masterProcess();
    } else {
      childProcess();  
    }

    function masterProcess() {
      console.log(`Master ${process.pid} is running`);

      for (let i = 0; i < numCPUs; i++) {
        console.log(`Forking process number ${i}...`);
        cluster.fork();
      }

      process.exit();
    }

    function childProcess() {
      console.log(`Worker ${process.pid} started and finished`);

      process.exit();
    }

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论