Explore Library
Code Quiz

Cluster fork condition bug

A clustering setup fails to spawn any workers because of an inverted role check.

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

if (cluster.isWorker) {
  for (let i = 0; i < numCPUs; i++) {
    cluster.fork();
  }
} else {
  http.createServer((req, res) => {
    res.end('handled by ' + process.pid);
  }).listen(8000);
}

This cluster never scales across CPU cores — what is the bug?