問題タブ [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.
python - RabbitMQ クライアントのパフォーマンス
pikaクライアントでログファイルをRabbitMQに解析しようとしている皆さん:
パフォーマンスについては、1 台の ec2 マシンが約 300 メッセージ/秒で送信できることがわかりました。これは m1.small から m1.large まで変わりません。
パフォーマンスを向上させるには、時間をかけて上記を C で書き直す必要がありますか、それとも他の場所を探す必要がありますか?
同じ RabbitMQ マシンでローカルに実行されているテストは、まったく同じものを示しています。
runjava.sh com.rabbitmq.examples.MulticastMain テストをローカルで実行すると、10K/秒のパフォーマンスが表示されます。これにより、Python クライアントが遅いか、セットアップを適切にテストしていないと思われます。
python - pika の on_open_error_callback メソッドのシグネチャはどのように見えますか?
私はpythonを使用しており、クラスのメソッド内から
私のソースコードでは、メソッドを(クラス内で)次のように宣言しています。
ただし、実行時に次のエラーが発生します。
このコールバックの実際のメソッド シグネチャを示すドキュメントを見つけることができませんでした。メソッドの非クラス定義を探していると思われます(つまり、パラメーターとしての自己がありません)。あれは正しいですか?もしそうなら?接続エラー時に再接続を試行できるように、クラス変数にアクセスするにはどうすればよいですか?
私が最初に探しているのは、メソッドの署名がどのように見えるべきかということだと思いますか?
前もって感謝します
python - Pika exchange_declare コールバックの取引所名
コールバックで交換名を使用しようとしていexchange_declare
ます。SelectConnection
Pika で非同期リクエスト用のアダプターを使用します。
私の考えは、最初に私のプログラムで交換、キュー、およびバインディングのリストを作成することです。次に、複数の交換とキューの宣言を Pika にディスパッチし、各バインディングに必要なキューと交換が DeclareOK メッセージを受け取るとすぐにバインディングを作成します。
これは、作成するバインディングと関連付けるために、コールバック内の交換とキューの名前を知る必要があることを意味します。
このようなもの:
これにより、次の出力が得られます。これは、(予想どおり) 交換が最初に宣言され、コールバックが後でトリガーされることを明確に示しています。
response
タイプがpika.frame.Methodであることがわかりましたが、そこからどうすればよいですか? 交換は、おそらく順番に宣言されることが保証されていますか?
python - RabbitMQ Python ライブラリ チェック ステータス
皆さん、私はエラーが発生した接続をチェックし、それが発生した場合に警告するためにログに記録しようとしています。
何らかの理由で、これは機能せず、吐き出しています:
スクリプトが異常終了するのではなく、どのようにエラーをキャッチして警告し、チェックを続行できますか?
ありがとう!
python - RabbitMQ: ジョブが 2 つの異なるワーカーで同時に実行されるのを防ぐ
要求で指定された特定の Django オブジェクトでアクションを実行するジョブを受け取る pika lib を使用して、2 つの RabbitMQ ワーカーを持つ Python Django プロジェクトがあります。
問題は、ワーカー A と B が同じ Django オブジェクト x に対して同時にアクションを実行しないようにすることです。問題が発生する可能性があるからです。どちらのワーカーが最初に実行されるかは問題ではありませんが、A が x で作業していて、B が x で作業するジョブを受け取った場合、A が完了するまでこのジョブを待機させたいと考えています。
つまり、問題は、他のワーカーが何に取り組んでいるかを知ることができ、特定の時間までジョブを一時停止できることに要約されます。私の実際のプロジェクトでは、これを適用する必要があるワーカーが 2 つ以上あることに注意してください。この例では、分析しやすくするために 2 つを選択します。
助けてくれてありがとう、マティアス
python - RabbitMQ 接続クローズ例外
ファイル「/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py」、218行目、process_data_eventsで例外が発生します.ConnectionClosed() pika.exceptions.ConnectionClosed
start_consuming がブロックされているため、RabbitReceiver の作成後のコードはおそらく実行されないことがわかっています。でも今のところ、その心配はありません。なぜこのエラーが発生するのか知りたいですか?おそらく私は何かを逃した...
python - rabbitmq、ピカパイソンで優雅に消費を一時停止および再開する方法
メッセージの受信には basic_consume() を使用し、消費のキャンセルには basic_cancel を使用していますが、問題があります。
これが pika.channel のコードです
消費をキャンセルするたびにわかるように、consumer_tag が _canceled リストに追加されます。このタグを basic_consume で再度使用すると、 duplicateConsumer 例外が発生します。そうですね、毎回新しい consumer_tag を使用できますが、実際にはそうではありません。遅かれ早かれ、生成されたタグは以前のもののいくつかと完全に一致するためです。
pika で優雅に消費を一時停止および再開するにはどうすればよいですか?
python-2.7 - pika connection.close() を使用すると、「WARNING:pika.adapters.base_connection:Unknown state on disconnect: 0」が返されます
pika を使用して RabbitMQ サーバーへの接続を閉じると、警告WARNING:pika.adapters.base_connection:Unknown state on disconnect: 0
が表示されます。
noconnection.close()
を使用すると、警告は表示されません。この警告の原因は何ですか? これは無視してよいものですか?
Mac OSX で Python 2.7、RabbitMQ 3.2.2、iPython 1.1.0、pika 0.9.13 を使用。
rabbitmq - Pika コンシューマで取引所を指定するには?
タイトルのすべて:rabbitmqのドキュメントからの以下のメソッドでは、発行が引数として交換を取ることがわかりますが、消費者はそうではありません。
また、私がそれを行っている間、コンシューマーはパブリッシュqueue
と同じですか? routing_key
サブスクライバーがタグのさまざまな正規表現をサブスクライブするように、ルーティングキーはタグのようなものだと思いました
消費するコード:
投稿するコード: