Twisted Pythonの場合-プロトコルインスタンスが完全に割り当て解除されることを確認します
-
22-07-2019 - |
質問
私はTwisted Pythonで書かれたかなり集中的なチャットソケットサーバーを持っています。ファクトリでinternet.TCPServerを使用して起動し、そのファクトリはクライアントとのすべての通信を処理するプロトコルオブジェクトを参照します。
クライアントが切断されたら、プロトコルインスタンスが自身を完全に破壊することを確認するにはどうすればよいですか?
connectionLostという名前の関数があり、クライアントが切断するとすぐに起動し、そこですべてのアクティビティを停止しようとしますが、いくつかのリアクターのもの(twisted.wordsインスタンスなど)が廃止されたプロトコルインスタンスで実行されていると思われます。
これを処理する最良の方法は何ですか?
ありがとう!
解決
OK、この問題を整理するために、プロトコルクラスで __ del __
メソッドを設定し、クライアントが切断されてから1分以内にガベージコレクションされていないプロトコルインスタンスを記録しています。
誰かがより良い解決策を持っているなら、私はまだそれについて聞いてうれしいですが、これまでのところ、私はすでにこのログを使用していくつかの潜在的なメモリリークを修正しました。
ありがとう!
所属していません StackOverflow