1

私が取り組んでいるプロジェクトでカズーを使用しています。しかし、しばらくすると、zookeper への新しい接続を開くことができないというエラー メッセージが表示されます。

そこで、ちょっとしたテスト プログラムを書きました。

for i in range(0, 1000):
    print i

    zk = kazoo.client.KazooClient()
    zk.start()
    zk.stop()

そして、約500回の繰り返しの後、「開いているファイルが多すぎます」というエラーが発生しました。

カズーの使い方が間違っていますか?

4

1 に答える 1

2

メソッドを呼び出しclose()ます。ドキュメントから:

close()

クライアントが保持しているすべてのリソースを解放します。

このメソッドは、破棄される前に、停止したクライアントで呼び出す必要があります。そうしないと、ファイルハンドルがリークする可能性があります。

バージョン 1.0 の新機能。

ただし、同じドキュメント内のサンプル コードは を呼び出さないclose()ため、混乱します。

于 2014-12-17T08:57:28.480 に答える