我正在使用cluster
模块来创建子进程/工作人员。这是我的简单设置:
if (cluster.isMaster) {
cluster.fork();
} else {
http.createServer((req, res) => {
if (cluster.isMaster) {
res.writeHead(200);
res.end('hello from master\n');
} else {
while (true) {
console.log('from child');
}
}
}).listen(8484);
}
我想知道,如果子进程繁忙,主进程是否处理请求。因此,我运行了上面的代码,并从浏览器发出了两个请求,期望第一个请求将使子进程繁忙,第二个进程将由主集群处理。但我从未收到发送给客户端的hello from master
。
那么如果子进程繁忙,主进程/工作进程/集群是否会处理请求?如果是这样,为什么我的实验没有成功?
最佳答案
我有理由确信,主人唯一的工作就是管理 child 。您的实验不起作用,因为您的服务器代码仅在子进程中进行设置,如所写,因此针对它们的所有请求都将针对子进程
关于javascript - 当子进程忙时,主集群是否接受请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40895357/