0

Python を使用しており、Pyro4 を使用してリモート オブジェクトに接続するものを作成しています。Pyro を使用してリモート オブジェクトに繰り返し接続する単体テスト (pyunit を使用) を実行すると、9 個を超えるテストを実行できないことがわかりました。立ち往生し、そこにぶら下がってください。

with Pyro4.Proxy(PYRONAME:name) as pyroObject: do something with object... を使用して、これを修正することができました。

一方、テスト セットアップでオブジェクトを作成する前に: def setUp(self): self.pyroObject = Pyro4.Proxy(PYRONAME:name)

次に、テスト内で self.pyroObject を使用します

これで問題が解決した理由を誰か知っていますか? ありがとう

4

1 に答える 1

0

プロキシ オブジェクトをクリーンアップしていないときは、pyro デーモンへの接続を維持します。デフォルトでは、デーモンは 16 の同時接続を受け入れます。

with.. as... 構文を使用すると、プロキシの使用が完了した後にプロキシをきれいに閉じることになり、デーモンで接続が解放され、新しいプロキシで使用できるようになります。

config で Pyro のスレッドプールサイズを増やすことで、16 の数を増やすことができます。別の方法として、デフォルトのスレッド化サーバー タイプの代わりに、多重サーバー タイプを使用することもできます。

于 2015-02-19T19:40:41.737 に答える