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?