2017-01-18 15 views
1

私は、コンシューマとプロデューサがサーバに2000個のメッセージを送信する際にACKを有効にしました。私が見るものは、約1700のメッセージが消費者に届いただけです。誰かが間違っていることを伝えることができますrabbitmq-c消費者がすべてのメッセージを受信しない

私はRabbitMQの-Cライブラリから提供された例のコードを実行しています

./amqp_producerのlocalhostの5672 1000年

千ミリ秒:1000送信された - 最後のレポート(999ヘルツ)以来、1000 PRODUCER - メッセージ数:2000 合計時間(ミリ秒):2001 全体のメッセージ毎秒:999.083

ルート@ CE-ブラジャー-MX240-E:/usr/sbin/rabbitmq_server-3.6.6#sbinに/ rabbitmqctl list_connections send_cnt 上場接続を。 .. ルートの@ CE-ブラジャー-MX240-E:/usr/sbin/rabbitmq_server-3.6.6#sbinに/ rabbitmqctl list_channels messages_unacknowledged 上場チャンネル... #の./amqp_consumerのlocalhostの5672 3275ミリ秒:1を受信 - 最後のレポート(0 Hz)以来1 3275 ms:最後のレポート(1919 Hz)から2 - 1を受信 3277 ms:最後のレポート(656 Hz)から3 - 1を受信 4001 ms:最後のレポート以降727 - 724を受信しました(999 Hz) 5000 ms:最後のレポート(1001 Hz)以来1727 - 1000を受信

2000年のうち1727だけが消費者で受信されます。消費者は、no-ackフラグを0に設定しています。

答えて

1

表示に問題がありました。 amqp_consumer.ccからのサマリを、提供されたリベラリで表示すると、次のサマリを間違って収集するためのタイムスタンプを増やしていたバグがありました。

+0

これを正解とマークしてください。どうも! – cantSleepNow

関連する問題