問題タブ [pyzmq]
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.
zeromq - ZeroMQメッセージサイズの長さ制限?
複数のマシンがpython's
zeroMQクライアントを使用して相互作用していると仮定します。
これらのメッセージは、自然に文字列としてフォーマットされます。
メッセージ(文字列)の長さに制限はありますか?
python - ZeroMQ PUB ソケットは、接続時にすべての送信データをバッファリングします
たとえば、ゼロmq PUBソケットが接続している場合、すべての送信データをバッファリングすることに気付きました
サブはそれらのメッセージの後にバインドします。PUB は、誰も接続していない場合はメッセージをドロップする必要があるため、ドロップする必要があります。ただし、メッセージをドロップする代わりに、すべてのメッセージをバッファリングします。
ご覧のとおり、これらの「メッセージをドロップしないでください」はソケットによってバッファリングされ、接続されると、SUB ソケットにフラッシュされます。PUB ソケットでバインドし、SUB ソケットで接続すると、正しく動作します。
そして、あなたは出力しか見ることができません
この種の奇妙な動作は問題を引き起こします。接続ソケット上のすべてのデータをバッファリングします。サーバーが 2 台あり、サーバー A がデータをサーバー B に発行します。
サーバー B がオンラインになると、正常に動作します。しかし、サーバー A を起動し、サーバー B を起動しないとどうなりますか?
その結果、サーバー A の接続 PUB ソケットはこれらすべてのデータを保持し、メモリ使用量はますます高くなります。
ここに問題があります。この種の動作はバグですか、それとも機能ですか? 機能の場合、この動作について言及しているドキュメントはどこにありますか? また、接続中の PUB ソケットがすべてのデータをバッファリングするのをどのように停止できますか?
ありがとう。
python - PyZMQによるキューの長さの制限
PythonアプリケーションでZeroMQメッセージキューによって消費されるメモリの量を制限したいと思います。最高水準点を設定すると、送信側でキューに入れられる量が制限されることは知っていますが、受信側でキューに入れられる量を制御する方法はありますか?Python ZeroMQバインディングでは、無制限に設定されているようです。
私のテストシナリオ:テストに使用しているPythonターミナルが2つあります。1つは受信者です。
もう1つは送信者です。
キューが機能することを確認するために受信側で数回実行socket.recv()
しますが、それ以外は、2つの端末をそのままにします。送信ループがブロックされることはなく、受信プロンプトのメモリフットプリントが増加しているようです。
python - zeromq pyzmq で数値を送信する
zeromq 経由で多数の数値を送信したいのですが、それらを str に変換するのは非効率的です。zmq 経由で番号を送信する最良の方法は何ですか?
python - ZMQ メッセージの発信元を特定していますか?
ZeroMQ (0MQ) ソケットで recv() メソッドを介してメッセージを受信した場合...
getpeername()
...基になるソケットの値を取得する方法はありますか? 私の目標は、正確な情報を提供するために送信者に依存しない方法でメッセージの発信元を特定することです.
ホスト メトリックを収集するために (Python 経由で) ZMQ を使用しています。受信者の観点から見た送信者のアドレスは、便利な識別子です。
それとも、これは単に悪い考えですか?
python - ZeroMQ pyzmq でバインドされたアドレスを取得する方法
Python で ZMQ バインディングを使用しています。クライアントをポートにバインドし、その場所を他のクライアントに送信して接続したいと考えています。これは基本的なバインディング コードです。
私が取得する必要があるのは外部アドレスであり0.0.0.0
、私のPCにIPがあるとしましょう。送信は役に立たない 192.168.1.10
ため、「tcp://192.168.1.10:12345」を取得して他のクライアントに送信する必要があります。tcp://0.0.0.0:12345
ZMQ がソケットの作成に使用したインターフェイスの外部 IP を取得するにはどうすればよいですか?
PCにはNICの数が存在する可能性があり、通常のソケットを使用して外部IPを取得しようとすると、ZMQが使用したNICがわからないため、無効になる可能性があります。
python - クラスインスタンス内でZMQポーラーが機能しない
こんにちは私はPythonクラスでいくつかのZMQプルクライアントをラップする際にいくつかの問題を抱えています。これらのクラスは、マルチプロセッシングモジュールを介してサブプロセスでインスタンス化および呼び出されます。クライアントが関数の場合はすべて機能しますが、クラスの場合はpoller.poll()がハングします。
以下のコードには両方のバージョンがあります。1つは機能し、もう1つは機能しません。なんで?
python - ipclusterを使用してスレーブノードからstdoutを読み取る
を使用してクラスターをセットアップしました
次に、を使用してアクセスしました
時間がかかるスレーブノード(e [0] -e [7])でプロセスを実行しているので、進行状況レポートをマスターに送信して、プロセスがどこまで進んでいるかを監視できるようにします。それは。
これを行うには2つの方法が考えられますが、質問ページを何時間もトロールしているにもかかわらず、これまでのところどちらも実装できていません。
ノードがプロンプトなしでデータをマスターにプッシュバックするようにします。つまり、ノードで実行される長いプロセス内で、定期的に進行状況をマスターに渡す関数を実装します。
または、ノードの標準出力をマスターの標準出力にリダイレクトしてから、印刷を使用して進行状況を追跡することもできます。これは私がこれまで取り組んできたものです。各ノードには独自のstdoutがあるため、リモートで実行した場合、printは何も実行しません。sys.stdoutをノードにプッシュしようとしましたが、これで閉じます。
これをやりたいのは私だけだとは信じられないので、とてもシンプルなものが欠けているのかもしれません。ipythonを使用してリモートで発生する長いプロセスを追跡するにはどうすればよいですか?
python - Mac OS Snow Leopard での zeromq のインストール
http://www.zeromq.org/area:downloadに記載されている手順を使用して、mac os x に zeromq 2.1.11 をインストールしました 。
次に、pyzmq(pythonバインディング)をインストールしました
しかし、次のエラーが表示されます。
python - Python は pyzmq をインストールした後でも zmq をインポートできません
ubuntu 10.10にインストールzmq
しpyzmq
て、すべてうまくいきました。
エラーimport zmq
が表示されると、
「ImportError: cannot import name initthreads
」と記載
なぜこれが起こっているのか誰にも教えてもらえますか?