У меня есть код, который очень похож на образец в документации Cluster на http://nodejs.org/docs/v0.6.0/api/cluster.html, а именно:
var cluster = require('cluster');
var server = require('./mycustomserver');
var numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
var i;
// Master process
for (i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('death', function (worker) {
console.log('Worker ' + worker.pid + ' died');
});
} else {
// Worker process
server.createServer({port: 80}, function(err, result) {
if (err) {
throw err;
} else {
console.log('Thread listening on port ' + result.port);
}
});
}
Я установил node -инспектор и попытался использовать его и плагин Eclipse V8, подробно описанный в https://github.com/joyent/node/wiki/Using-Eclipse-as-Node-Applications-Debugger, чтобы отлаживать мое приложение, но похоже Я не могу перехватить отладчик до разветвленных экземпляров кластера, чтобы поставить точки останова на интересную логику сервера - я могу только отлаживать часть приложения, которое порождает процессы кластера. Кто-нибудь знает, могу ли я на самом деле сделать такую вещь, или мне придется реорганизовать мое приложение, чтобы использовать только один поток в режиме отладки?
Я новичок Node.js, поэтому я надеюсь, что там что-то очевидное, я здесь отсутствует.