Amqp: Publishメソッドは「confirms.Published」counter(deliveryTag)を返しません

作成日 2020年09月29日  ·  9コメント  ·  ソース: streadway/amqp

NotifyPublishを介してリスナーを登録していて、非同期で確認を取得しています。ack= falseの場合、メッセージを再公開するか、それに基づいて動作しますが、このリスナーチャネルから配信タグを取得し、これがどのペイロードかわかりません。配信タグはです。

https://github.com/streadway/amqp/blob/v1.0.0/confirms.go#L36を返すことができるように見えますが、これは特定のチャネルの配信タグのように見えhttpsでは無視してい

全てのコメント9件

こんにちは@ kamal-github

私が公開しているチャンネルで確認が送信されることを思い出すまで、私は同じことを不思議に思っていましたが、そのチャンネルで公開しているものについてのみ...

すなわち。 DeliveryTag = 1の確認通知は、チャネルなどで公開した最初のメッセージに対するものです...追跡するのは簡単です(ただし、Publishがそのカウンターを返す可能性があることに同意します)。

@chrisDeFouRire同じカウンターを維持することで、同時実行の問題が発生する可能性があるのではないかと心配しています。 Javaクライアントのようなメソッドを追加してみませんか。 getNextSequenceNumber()https://www.rabbitmq.com/tutorials/tutorial-seven-java.html

@ kamal-github私はあなたの解決策が好きですが、私はそれに投票することしかできません👍

このクライアントは、パブリックAPIの変更を理論的に破ることさえも、非常に保守的なアプローチを使用しています。 シーケンスカウンターリーダーを公開する—これがその方法です。

カウンターを返す新しい関数を紹介するPRを送信するか、既に存在する場合はドキュメントの更新を送信してください。 Channel.Publish変更(戻り値など)を壊すことは、このクライアントにとって問題外です。

私はそれが(カマル-githubのによる)PR#478はまったく同じものだと思います@michaelklishin

@chrisDeFouRire @michaelklishin https://github.com/streadway/amqp/pull/478私はすでにこのためのPRを作成していると述べました。 確認してください。 :)

@michaelklishin

それをマージするとき。 https://github.com/streadway/amqp/pull/478

@chrisDeFouRire @michaelklishin#478私はすでにこのためにPRを作成していると述べました。 確認してください。 :)

マージするとき

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

CodingAgainstChaos picture CodingAgainstChaos  ·  3コメント

kpurdon picture kpurdon  ·  22コメント

michaeljs1990 picture michaeljs1990  ·  11コメント

pnuz3n picture pnuz3n  ·  17コメント

vibridi picture vibridi  ·  7コメント