問題タブ [python-pika]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2417 参照

python-3.x - TLSv1_2 による Python Pika 接続

私は Python3.6 を使用して RabbitMQ に接続しています。この接続は TLSv1.2 プロトコルを使用します。SSL の接続パラメーターの設定:

rabbitMq への接続時に次のエラーが発生します。

Connection ParametersTLS params exampleについて pika docs を参照しましたが、これまでのところ成功していません。

Java では、同じ Rabbit ホストに接続するための同様のコードが機能しています。

0 投票する
1 に答える
95 参照

python - プレゼンス プラグイン交換を別の交換にバインドしてもメッセージが生成されない

私は RabbitMQ 3.5.1 をrabbit_presence_exchange (バイナリ配布) およびrabbitmq_event_exchange (この問題のデバッグに役立てるため) プラグインと Python Pika クライアントと共に使用しています。

プレゼンス プラグインは、新しい交換タイプx-presenceを提供することで機能します。これにルーティング キーを使用してキューをバインドすると、キューがバインドおよびアンバインドされるときにプレゼンス通知が生成されます (たとえば、ルーティング キーがユーザー名である場合)。ルーティング キーなしでキューをバインドすると、プレゼンス通知を受信するようにサインアップされます。

これで問題ありません。このようなプレゼンス通知を正常に生成して受信できます。しかし、ここでは交換を介してプレゼンス メッセージをルーティングしたいと考えています。最初に、ヘッダー交換を使用しようとしましたが、メッセージが来ていませんでした。そのため、ファンアウト交換に変更しました (ヘッダー マッチングを正しく設定しなかった場合に備えて) が、まだ何も来ていません。 .

これは、追加の交換なしでプレゼンス メッセージを生成および受信するための私のスクリプトです (つまり、これが機能します)。

上記を変更して、プレゼンス メッセージを組み込みのファンアウト交換にルーティングし、キューをそれにバインドしました。

取引所がメッセージを受信して​​いない理由について困惑しています。Erlang は私の言語の 1 つではありません。そのため、Presence プラグインのソースを読み取って、これがサポートされているかどうかを判断するのに苦労しています (サポートされない理由はわかりませんが)。

アイデア (または、RabbitMQ でプレゼンスを処理するためのより良い方法) がある場合は、ぜひお聞かせください。

編集:
このコードと 2 つのクライアントが実行されていると、交換とバインディングは次のようになります。