Мой кластер node.js может запустить 2 рабочих процесса и работает нормально.Вот псевдокод.Но если я открою диспетчер задач Windows, чтобы убить процесс node.js, я ожидал, что он будет перезапущен.но выдает ошибку ( Ошибка: канал закрыт ).
if (cluster.isMaster) {
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('death', function(worker) {
logger.fatal('worker ' + worker.pid + ' died. Restarting again ...');
cluster.fork();
});
} else {
// Worker processes have a express server.
.........
.........
}
Ошибка:
[2012-03-15 09:46:20.906] [INFO] console - Total CPUs : 2
[2012-03-15 09:46:22.182] [INFO] console - info - 'socket.io started'
[2012-03-15 09:46:22.240] [INFO] console - info - 'socket.io started'
[2012-03-15 12:20:04.973] [FATAL] choicebeat - worker 6928 died. Restarting agai
n ...
[2012-03-15 12:20:05.213] [ERROR] console - Exception in cluster master process:
channel closed
Error: channel closed
at ChildProcess.send (child_process.js:118:33)
at c:\HTML5\LIKEPREF\test\server\node_modules\socket.io-clusterhub\node_modu
les\clusterhub\lib\index.js:150:22
at Array.forEach (native)
at ChildProcess.onmessage (c:\HTML5\LIKEPREF\test\server\node_modules\socket
.io-clusterhub\node_modules\clusterhub\lib\index.js:149:15)
at ChildProcess.emit (events.js:88:20)
at Pipe.onread (child_process.js:102:16)
Похоже, что-то не так с socket.io-clusterhub.Это какая-то ошибка конфигурации или ошибка?