2012-04-16 12 views
0

私はNodeとRedisと一緒に作業しています。イベントが発生した場合に備えて、ユーザを追加する必要があります。問題は、処理が一度しか行われないようにすることです。そして、私は、自分の分岐したプロセスのうちの1つだけが赤目を聞く必要があるだけで大​​丈夫です。Node.js:cluster.fork()を使用して別の動作を呼び出す

ちょうど今、別のファイルに新しいクラスタをフォークしてそこから開始できるかどうかをテストしましたが、喜びはありません。誰でもこれを行う方法を知っていますか?私は、ノードの最新の安定バージョン(0.6.15)を実行しています

ここでは私のコード(2つのファイル)である:


clusterTest1: 
--- 
var c2 = require('./clusterTest2'); 

console.log('clusterTest1'); 
//c2.test(); 
--- 

clusterTest2: 
--- 
var cluster = require ('cluster'); 

console.log('clusterTest2'); 

if (cluster.isMaster) { 
    cluster.fork(); 
} else { 
    console.log('cluster spawned'); 
} 
--- 

出力:

clusterTest2 clusterTest1 clusterTest2 クラスタが生成された clusterTest1

ありがとう!

答えて

0

process.env.NODE_WORKER_IDを使用してこれを回避する方法が見つかりました。 1つは、NODE_WORKER_IDに応じて異なるコードを実行できます。これは、1つのインスタンスでメッセージを購読するという問題を解決します。

関連する問題