2014-01-29 72 views
1

我正在寫一個程序,通過heroku上的amqp與rabbitmq一起工作。爲什麼建立這麼多連接?

我的計劃的一部分有這樣的代碼:

console.log('APP START'); 

//Connect to db and start 
global.controllers.db.opendb(dbsettings, function(error,db){ 
    if (!error){ 
    global.db = db; 
    console.log('DB: connection to database established.'); 

    var con = amqp.createConnection({ url: global.queue.producers.host }); 
    con.on('ready', function() { 
     console.log('mq: producers connection ready.'); 
    }); 
    } 
}); 

當我從文檔明白我應該成功連接後,只得到一個消息隊列服務。

有什麼特別的原因,爲什麼我的輸出有很多含有MQ行:生產者連接就緒。this那麼?

回答

0

當連接丟失或者代碼發生錯誤時,amqp-node庫會自動重新連接。我看不出上面的代碼有什麼問題,但是如果有任何例外情況出現在與兔子相關的代碼中(也可能在其他地方,例如連接和訂閱隊列),amqp-node會嘗試重新建立連接 - 並保持得到相同的異常並繼續重試。

相關問題