Twisted Pythonの場合-プロトコルインスタンスが完全に割り当て解除されることを確認します

StackOverflow https://stackoverflow.com/questions/1234292

質問

私はTwisted Pythonで書かれたかなり集中的なチャットソケットサーバーを持っています。ファクトリでinternet.TCPServerを使用して起動し、そのファクトリはクライアントとのすべての通信を処理するプロトコルオブジェクトを参照します。

クライアントが切断されたら、プロトコルインスタンスが自身を完全に破壊することを確認するにはどうすればよいですか?

connectionLostという名前の関数があり、クライアントが切断するとすぐに起動し、そこですべてのアクティビティを停止しようとしますが、いくつかのリアクターのもの(twisted.wordsインスタンスなど)が廃止されたプロトコルインスタンスで実行されていると思われます。

これを処理する最良の方法は何ですか?

ありがとう!

役に立ちましたか?

解決

OK、この問題を整理するために、プロトコルクラスで __ del __ メソッドを設定し、クライアントが切断されてから1分以内にガベージコレクションされていないプロトコルインスタンスを記録しています。

誰かがより良い解決策を持っているなら、私はまだそれについて聞いてうれしいですが、これまでのところ、私はすでにこのログを使用していくつかの潜在的なメモリリークを修正しました。

ありがとう!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top