При использовании кластера в производственном процессе, в частности, при вызове функции 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? Благодаря.