为什么建立这么多连接?

时间:2014-01-29 17:50:34

标签: node.js heroku rabbitmq

我正在编写一个程序,通过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:producer connection ready。,如this那么,有什么特别的原因吗?

1 个答案:

答案 0 :(得分:0)

当连接丢失或代码中发生错误时,amqp-node库会自动重新连接。我上面的代码看不出有任何问题,但是如果你的兔子相关代码(也在其他地方,例如连接和订阅队列)中抛出任何异常,amqp-node将尝试重新建立你的连接 - 并保持获得相同的异常并继续重试。