0
私のnode.jsクラスタは2つのワーカープロセスを開始でき、正常に動作しています。 ここに擬似コードがあります。 しかし、Windowsタスクマネージャを開いてnode.jsプロセスを強制終了した場合、再起動することが予想されました。それはエラーを投げた(エラー:チャンネル閉鎖)。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と間違って何かのように見えます。何らかの設定エラーかバグですか?