WAN 経由で複数の XMLRPC クライアントからの要求を処理しています。このことは、たとえば、1 日 (場合によっては 2 日) の間うまく機能し、その後 socket.py でフリーズします。
data = self._sock.recv(self._rbufsize)
_sock.timeout は -1、_sock.gettimeout は None
メイン スレッド (XMLRPC 呼び出しを受信するだけ) で特別なことを行うことはなく、DB と通信する別の 2 つのスレッドがあります。これらのスレッドは両方とも正常に動作し、このブロックを存続します (WinPdb で確認しました)。クライアントは 1KB を超えない長さのリクエストを送信しており、特別なコンテンツはありません。辞書にあるきれいな文字列だけです。2 回のブロックの間に、何万ものリクエストを問題なく処理しています。ファイアウォールがオフになっている、同じマシンに奇妙なソフトウェアがないなど...
Windows XP と Python 2.6.4 を使用しています。2.6.4 との違いを確認しました。および 2.6.5 であり、重要なことは何も見つかりませんでした (または、私が間違っているのでしょうか?)。2.7 バージョンは、MySqlDB のバイナリが見つからないため、オプションではありません。
インターネット接続が不十分なクライアントによって時々発生する唯一のことは、ソケットが壊れることです。これは 5 ~ 10 分ごとに発生しています (2 秒ごとにサーバーにアクセスするクライアントは 5 つだけです)。
私はこの問題にかなりの時間を費やしてきましたが、今、何をすべきかについての考えを失い始めています。ヒントや考えをいただければ幸いです。