【发布时间】:2016-12-01 02:16:04
【问题描述】:
我正在使用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 发送给客户。
如果子进程很忙,主进程/工作者/集群是否会处理请求?如果是这样,为什么我的实验没有成功?
【问题讨论】:
-
您的问题是否与您的 if/else 语句有关?当它到达 else 时,
cluster.isMaster不正确,所以你的第一个嵌套 if 永远不会通过。
标签: javascript node.js