2017-09-19 9 views
1

私はpython 3とamqpstormパッケージを使用します。私は、コードのこの部分(省略)オープンRabbitMQの接続での作業を持っている:ウサギの消費者は、channel.basic.ackの後に消費を停止します

ichannel = connection.channel(rpc_timeout = 5) 
ichannel.basic.qos(10000) 
ichannel.queue.bind(...) 
ichannel.basic.consume(self.<process_message>, <queue>, no_ack = False) 
ichannel.start_consuming(to_tuple = False) 

私はprocess_message関数内で呼び出すとき、私は最後のものを受け取った後に一括してこれらの10000件のメッセージを処理し、:

ichannel.basic.ack(0, True) 

すべての10000メッセージを確認します。機能start_consuming仕上げ。なぜ誰も知っていますか?私はこの積み重ね後にメッセージを受け取り続けたいと思います...

答えて

0

最後のメッセージの実際の配信タグを、代わりに0(これは同じ方法で動作するはずですが、それは...) basic.ack関数へ。

+0

ありがとうございます - これは次のリリースで修正されていますhttps://github.com/eandersson/amqpstorm/issues/47 – eandersson

関連する問題