0
这款经典的集群例如:集群中的Node.js在蔚蓝的模拟器或蔚蓝色的VM失败EBADF
var cluster = require('cluster');
var http = require('http');
var numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
// Fork workers.
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('exit', function(worker, code, signal) {
console.log('worker ' + worker.process.pid + ' died');
});
} else {
// Workers can share any TCP connection
// In this case its a HTTP server
// Worker code omitted
}
运行顺利使用Windows Azure PowerShell和一个简单的节点处理我的Windows机器,但是当我上部署它以蔚蓝色的仿真器或一个真正的工人角色机器,我得到以下错误:
spawn EBADF
at errnoException (child_process.js:837:11)
at ChildProcess.spawn (child_process.js:789:11)
at exports.spawn (child_process.js:614:9)
at exports.fork (child_process.js:443:10)
at new Worker (cluster.js:288:20)
at Cluster.cluster.fork (cluster.js:474:11)
at Object.<anonymous> (X:\workspaces\tp\deploy\local_package.csx\roles\zealot\approot\server.js:8:13)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
任何人都知道为什么发生这种情况或如何调试这个问题?
感谢....
UPDATE:这个问题似乎只发生在节点引擎> = 0.8.0
UPDATE2:开设了一个问题https://github.com/joyent/node/issues/3779