From 6626103d0682d1071d0f85a5f30e9bd4940644a9 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Thu, 8 Jan 2015 13:19:11 -0700 Subject: [PATCH] chore(cores): allow cores==0 to not use cluster at all (even w/ single core). Good for running debugger. If cores==1, it will use cluster to restart the single node on error --- src/server.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/server.js b/src/server.js index 8e551f7891..54a7ad9422 100644 --- a/src/server.js +++ b/src/server.js @@ -7,12 +7,11 @@ utils.setupConfig(); var logging = require('./logging'); var isProd = nconf.get('NODE_ENV') === 'production'; var isDev = nconf.get('NODE_ENV') === 'development'; +var cores = +nconf.get("CORES"); -if (cluster.isMaster && (isDev || isProd)) { +if (cores!==0 && cluster.isMaster && (isDev || isProd)) { // Fork workers. If config.json has CORES=x, use that - otherwise, use all cpus-1 (production) - var cpus = require('os').cpus(), - cores = +nconf.get("CORES"); - _.times(cores || cpus.length-1, cluster.fork); + _.times(cores || require('os').cpus().length-1, cluster.fork); cluster.on('disconnect', function(worker, code, signal) { var w = cluster.fork(); // replace the dead worker