2016-08-22 1 views
2

私はnodejsにamqplibライブラリを使用してRabbitMQを操作しています。amqplib - キューが存在するかどうかを安全に確認する方法

mychannel.checkQueue('xxx', function (err, ok) { 
    console.log(err); 
    console.log(ok) 
}); 

をしかし、それはエラーをスローしないだけでなく、チャネルをクローズ:私は機能checkQueueを使用してキューが存在するかどうかを確認しようとしています。キューが存在するかどうかを安全に確認する方法はありますか?

答えて

0

チャンネルを破壊する危険はありません。回避策は、チェックに使用できる一時的なチャネルを作成することです。

amqp.nodeのDEVからのコメント: (https://github.com/squaremo/amqp.node/issues/280

checkQueueの挙動はプロトコルによって決定されるが、それは を回避することができます。 1つの手法は、キューが存在するかどうかをテストするために、 で「犠牲的」余分なチャネルを作成することです。答えが得られたら、 余分なチャンネルを投げ捨てるか、より多くのテストのためにそれを保持してください。

関連する問題