diff --git a/lib/clustering.js b/lib/clustering.js index ca49cb5..61c6ff1 100644 --- a/lib/clustering.js +++ b/lib/clustering.js @@ -5,7 +5,7 @@ const configuration = require("./configuration"); let disabled = false; let cluster = null; try { - cluster = require("cluster"); //eslint-disable-line + cluster = require("cluster"); // eslint-disable-line } catch (e) { debug("cluster module not present"); disabled = true; @@ -17,7 +17,7 @@ let pm2 = false; let pm2InstanceVar = "NODE_APP_INSTANCE"; const isPM2Master = () => pm2 && process.env[pm2InstanceVar] === "0"; -const isMaster = () => disabled || cluster.isMaster || isPM2Master(); +const isMaster = () => disabled || (cluster && cluster.isMaster) || isPM2Master(); const sendToListeners = logEvent => { listeners.forEach(l => l(logEvent)); @@ -72,7 +72,7 @@ if (!disabled) { // we only want one of the app instances to write logs debug("listening for PM2 broadcast messages"); process.on("message", receiver); - } else if (cluster.isMaster) { + } else if (cluster && cluster.isMaster) { debug("listening for cluster messages"); cluster.on("message", receiver); } else {