問題タブ [pyro]

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 に答える
985 参照

python - Pyro4 クライアントがメッセージを受信しない

サイズが特定のしきい値を超えたときに、Pyro4 サーバー (バージョン 4.39、serializer= pickle) から単純な numpy 配列を取得する際に問題があります。サーバーはリクエストを処理して返信しますが、クライアントはハングしたままです

コードは以下のとおりです。

サーバーコード:

クライアントコード:

サーバー出力: (200, 50000) アップおよび待機中 ... データが要求されました

そのため、Pyro サーバーはクライアントからのリクエストを処理してデータを返しているように見えますが、クライアントはそれを取得せず、メッセージの受信を無期限に待機したままになります。

PS: - 小さいサイズの配列 (200,5000) に対して同じコードが機能します。

何が問題なのか考えている人はいますか?

あなたの助けは大歓迎です、

0 投票する
2 に答える
197 参照

python - Pyro4 プロキシをインデックス可能にする

Pyro4 プロキシをインデックス可能にしようとしています。これをテストするために、http://pythonhosted.org/Pyro4/intro.html#simple-exampleから挨拶の例を取得し、それを変更しました。

サーバ:

クライアント:

[] 表記はサーバーでは機能しますが、クライアント プロキシでは機能しません。私は得る:

TypeError: 'Proxy' オブジェクトはインデックス作成をサポートしていません

しかし、__getitem__仕事をするために直接呼び出します。

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

python - Pyro4, object changes class (the State patern) but Proxy does not see it

In an application I use a low level library and run it in a separate process. The connection to the process is done with Pyro4.

The library needs initialization before the work and release of resources after. Thus, I implement the State pattern to have both states nicely separated.

The library is embedded into an object (which is called by Pyro4.Daemon). It has initialization method, which does necessary procedures and changes the __class__ of the object to the "ready" one, which has all the methods to call the library.

However, Pyro4.Proxy does not see the object change its' methods after the initialization method is called. Though, if you look at the actual object (in a separate interpreter, running the Pyro4.Daemon in a thread) -- the __class__ does change and everything is fine there. The problem is on Pyro4.Proxy side.

So, is it possible to change the __class__ when working with Pyro4? Am I just doing something wrong?

PS

It seems Pyro4.Proxy grabs the methods of the remote object when you call it the first time. And then the methods are frozen. Could I "refresh" this procedure somehow, ask Proxy to check out the methods again?

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

python - Pyro4 での AttributeError

Pyro4 でオブジェクトを送信しようとしています。これは私のサーバーコードです:

そして、私のクライアントは次のようになります。

このエラーが発生します: AttributeError: 'module' object has no attribute 'Player'

何か意見はありますか?

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

python - Pyro - Name Server で HMac キーを使用するには? CommunicationError: hmac キー構成が対称ではありません

私は Pyro 4.34、Python 2.7、Jython 2.7 を使用しています。

ネームサーバー。次のようにネームサーバーを起動できます。

パイロサーバー。ドキュメント_pyroHmacKeyには、Pyro デーモンで属性を設定できると記載されていますが、locateNSメソッドはNamingError cannot find Name Server.

の API をlocateNS見ると、 という引数があることがわかりますhmac_key。_pryoHmacKey を取り除き、代わりにその arg を使用すると、Pyro Server は問題なく起動できます。

クライアント。ドキュメントには、次の_pyroHmacKey属性を設定できると記載されていproxyます。

ただし、メソッド on への最初の呼び出しは次のproxyエラーで失敗します。

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

python - Pyro - NameServer が socket.error Address already in use を発生させないようにする

本番用に Pyro アプリケーションを強化しようとしています。ネームサーバーで次の問題が発生しています。

ネーム サーバーをオフにしてすぐにオンに戻すと、50% の確率で次のエラーがスローされるようです。

pyro4-nsこれは、ネーム サーバーをウィンドウ ( ) で実行し、CTRL+C を押してから再度実行することでテストできます。これを 10 回続けて問題なく実行できる場合もありますが、次の 10 回ではsocket.error. このエラーが発生した場合、ネーム サーバーがソケットを解放するのに約 30 秒かかることがわかりました。

私はsupervisordパイロを制御するために使用しています。次の構成により、いくつかの問題が改善されることがわかりました。特に、startretries=50NameServer がソケットを解放するには、常に 30 秒以上かかります。これにより、プロセスが何らかの理由でsupervisord終了した場合でも、失敗することなく開始できます。

ただし、クライアントの実行中にネーム サーバーが停止した場合、この問題が原因でネーム サーバーに再接続するのに 30 秒以上かかります。REST タスク用の Web サーバーで Pyro クライアントを使用しているため、この遅延は受け入れられません。