Кластер узла в производственной ошибке - PullRequest
0 голосов
/ 29 августа 2018

При использовании кластера в производственном процессе, в частности, при вызове функции fork (), я получаю эту ошибку как локально, так и в Heroku. Я установил переменную для WEB_CONCURRENCY = 1. Когда я удаляю кластер из моего server.js, он работает нормально.

// server.js

let WORKERS = process.env.WEB_CONCURRENCY || 1;
let cluster = require('cluster');

if (cluster.isMaster) {
  for (let i = 0; i < WORKERS; i += 1) {
    cluster.fork();
  }
  cluster.on('exit', function(worker) {
    console.log(`worker ${worker.id} exit`);
    cluster.fork();
  });
}
else { ... setup Express }

//

Error: Cannot find module '/app/server/undefined'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:191:16)
at bootstrap_node.js:612:3
worker 150 exit // (failed again)
module.js:549
throw err;

Однако, когда я запускаю это локально, а не в рабочей среде, node server.js это работает нормально, я мог бы создать несколько кластеров и без ошибок. Что означает эта ошибка и почему она не работает в Heroku / production? Благодаря.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...