問題タブ [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 - パラメータを pika コールバックに渡すにはどうすればよいですか
次のように pika を使用して RabbitMQ サーバーとやり取りします。 1. P1 はメッセージを RabbitMQ に送信します。コードは次のとおりです。
問題は、callback() 関数で window.showMessage を呼び出すにはどうすればよいかということです。よろしくお願いします。Python と RabbitMQ の両方が初めてです。
python - Pika または RabbitMQ で、消費者が現在消費しているかどうかを確認するにはどうすればよいですか?
送信しようとしているメッセージを消費するコンシューマー/ワーカーが存在するかどうかを確認したいと思います。
Workerがない場合は、いくつかのワーカーを開始し (コンシューマーとパブリッシャーの両方が 1 台のマシン上にあります)、次にMessagesのパブリッシュに取り掛かります。
のような関数がある場合connection.check_if_has_consumers
、私はそれを次のように実装します-
check_if_has_consumers
しかし、pikaで機能する関数が見つかりません。
pikaを使用してこれを達成する方法はありますか? それとも、うさぎと直接話すことで?
完全にはわかりませんが、RabbitMQはさまざまなキューにサブスクライブしているコンシューマーの数を認識していると思います。メッセージをそれらにディスパッチし、 ACKを受け入れるからです。
3時間前にRabbitMQを始めたばかりです...どんな助けも大歓迎です...
これが私が書いたworkers.pyコードです。
編集:
先に進まなければならないので、より良いアプローチがない限り、私が取ろうとしている回避策は次のとおりです。
したがって、RabbitMQにはこれらのHTTP 管理 APIがあり、管理プラグインを有効にした後に機能し、HTTP API ページの中央に
/api/connections - 開いているすべての接続のリスト。
/api/connections/name - 個々の接続。それを削除すると、接続が閉じます。
したがって、ワーカーとプロデュースの両方を異なる接続名/ユーザーで接続すると、ワーカー接続が開いているかどうかを確認できます... (ワーカーが停止すると問題が発生する可能性があります...)
より良い解決策を待っています...
編集:
これはrabbitmqのドキュメントで見つけたばかりですが、これをPythonで行うのはハックです:
だから私は次のようなことができます
ハッキー...まだピカがこれを行うためのPython関数を持っていることを願っています...
ありがとう、
python - Django - Apacheがリクエストごとに作成するすべてのプロセス間でRabbitMQ接続を共有しますか?
私のスタックはDjango 1.3(Python 2.7) + Apache + mod_wsgiです
Apacheはリクエストごとに新しいプロセスを生成します... 時々、それらのリクエストで、後で行うべき重いタスクについて、 RabbitMQにメッセージを公開する必要があります (投稿したばかりの猫の写真について誰かのフォロワーに通知するなど)。
パブリッシュには、高価なRabbitMQへの接続が含まれます。(この SO の質問を参照してください: RabbitMQ の作成接続は高価な操作です)
残念なことに、Python がプロセス間でメモリを共有できないことも認識しています...ため息 :(
この場合、Apache リクエストごとに RabbitMQ 接続を作成して閉じるオーバーヘッドをどのように回避できますか?
明確にするために、ここでRabbitMQ + pikaを使用して、プロセス間の接続を共有しようとして失敗しました:
サーバー設定(Django + Apache + mod_wsgi)'NEW CONNECTION'
では、要求が行われるたびに出力されますtest_view
Django を RabbitMQ で使用すると、誰もが遭遇する問題のように思えます。方法があるはずです...
ありがとう...どんな助けでも大歓迎です
asynchronous - 昆布とピカ非同期の使い方は?
昆布を使って、2つのメッセージを同時に処理するサーバーを作成しようとしています。私のトランスポートはrabbitmqです。
答えは、昆布とpika-asyncを使うことだと思います。ただし、これを行う方法についてのドキュメントはないようです。
ヘルプ?
python - rabbitmqメッセージからpika pythonのbasicpropertiesヘッダーフィールドを取得する方法は?
これは小道具からのリストです:
本文と基本プロパティのリストを印刷できます。しかし、どうすればヘッダーを取得できますか?
関数内のすべての #print ステートメントでエラーが発生しました。
python - ロガー「pika.adapters.blocking_connection」のハンドラーが見つかりませんでした
同様の質問はすべて、カスタム ロガーの使用に基づいているようです。私の pika python アプリが実行され、メッセージを受信しますが、数秒後に でクラッシュしNo handlers could be found for logger "pika.adapters.blocking_connection"
ます。何かアイデアはありますか?
以下を追加して修正:
python - Pika の「queue_declare」からの結果オブジェクトのドキュメント
次のチュートリアル: http://www.rabbitmq.com/tutorials/tutorial-three-python.htmlには、次のコードがあります。
Pika について文書化されたこの「結果」オブジェクトはどこにありますか? これからアクセスできるすべてを知りたいです。
rabbitmq - ハートビートの欠落が多すぎるとアプリがクラッシュする
多数のワーカーに負荷を分散しているアプリがあります。これまでのところ、すべてのワーカーは同じ VM で実行されており、まだスケールアップする必要はありません。私の問題は、3〜4日ごとに、ワーカーが以下のエラーメッセージでクラッシュすることです.1200秒以内にクライアントとrabbitmqサーバーの間に連絡がありません(推測)。
私の質問は、これを引き起こす可能性のあるものは何ですか? これは 3 つのワーカーのうち 1 つにのみ発生し、他のワーカーはエラー メッセージや警告なしで正常に動作しています (同じ VM 上のすべてのワーカーと rabbitmq-server)。新しいリクエストを取得するために、Python ライブラリ pika の標準メソッド start_using() を使用しています。コードが大きすぎてここに添付されており、エラーメッセージを考慮すると、私のコードまたはシステムの問題のようです。
私は使用しています:
- Python ピカ 0.9.8
- Rabbitmq 3.0.0
- デビアン 6.0
- すべてのワーカーは画面内で開始されます
- Linode でホストされる VM、512MB メモリ
python - Pythonを使用してamqpメッセージを生成し、Javaを使用して同じメッセージを消費する
Pythonからamqpメッセージを生成し、java/springから同じメッセージを消費しようとしています。
これが私のプロデューサーコード(python)です:
これが私のコンシューマーコード(java)です:
PersonのJavaクラスは次のとおりです。
および対応するPythonクラス:
(trc / suivi / amqpディレクトリ構造にあります)
クラスキャスト例外が発生します。これは、パッケージ/モジュール名またはシリアル化の問題のいずれかに関係していると確信しています...
編集:私は現在JSonを使用しており、Javaの逆シリアル化でこれを取得します:
python - pythonがrabbitmqを介してバイナリファイルを渡す
pika(rabbitmqのpythonドライバー)によってrabbitmqを介してバイナリファイルを渡そうとしています
データは私のバイナリファイルです。ファイル名をパラメーターとして渡して、rabbimqにキューに入れているファイルを確認したいと思います。
どうすればいいですか?