Это мой первый вопрос о переполнении стека, поэтому, пожалуйста, извините меня за любую ошибку или недостаточную информацию в этом вопросе.
Итак, я пытаюсь использовать кластерный модуль nodeJS для своего сервера, и я запускаю nodeJS через свой компьютер с Windows. Я знаю, что у nodeJS нет политики планирования для кластерного модуля в Windows, поэтому я явно установил scheduling_policy на rr, как указано в документах nodeJS. Но проблема в том, что я пытаюсь занять одного рабочего, помещая его в бесконечный цикл; сервер не отправляет запрос другому работнику, доступному и свободному, когда мы пытались запросить у сервера ресурс '/'.
Please help me why it is not dispatching the request to other workers.
var cluster=require('cluster');
if(cluster.isMaster){
var cores=require('os').cpus().length;
console.log("Master Cluster setting up :-"+cores+" workers");
for(var i=0;i<cores;i++)
cluster.fork();
cluster.on('online',(worker)=>{
console.log("Worker with Process ID :- "+worker.process.pid+" online");
});
cluster.on('exit',(worker)=>{
console.log("worker "+worker.process.pid+" died...So setting up a new worker");
cluster.fork();
});
}
else{
var app=require('express')();
app.get('/',(req,res)=>{
console.log("Process with pid "+process.pid+" is handling this request");
while(true);
res.write("Yes!");
res.end();
//while(true);
})
app.listen('3000');
}