私は最近、このエラーを見てきました。私はUbuntu 10.10でChromeのdev-channelブラウザを使用しています。私がWebページを更新すると、dev_appserverがハングアップするようです。タイムアウト後、要求が完了した場合。dev_appserver.py(App Engine dev server)がリクエストを待っているのはなぜですか?
私はアプリケーションサーバーのターミナルウィンドウでCTRL-Cを入力した場合、このバックトレースを表示した後、サーバーを「引き離す」のようです:
奇妙なことに、私はそれが関連していますかどうかを確認するためのFirefoxを育てたときException happened during processing of request from ('192.168.1.19', 48238)
Traceback (most recent call last):
File "/usr/local/lib/python2.5/SocketServer.py", line 222, in handle_request
self.process_request(request, client_address)
File "/usr/local/lib/python2.5/SocketServer.py", line 241, in process_request
self.finish_request(request, client_address)
File "/usr/local/lib/python2.5/SocketServer.py", line 254, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver.py", line 3123, in __init__
BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
File "/usr/local/lib/python2.5/SocketServer.py", line 522, in __init__
self.handle()
File "/usr/local/lib/python2.5/BaseHTTPServer.py", line 316, in handle
self.handle_one_request()
File "/usr/local/lib/python2.5/BaseHTTPServer.py", line 299, in handle_one_request
self.raw_requestline = self.rfile.readline()
File "/usr/local/lib/python2.5/socket.py", line 346, in readline
data = self._sock.recv(self._rbufsize)
KeyboardInterrupt
Chromeのみ、問題は解決しました(FirefoxとChromeの両方)。
私はこれを、以前のリクエストを開いたままにして、応答からすべてのバイトを完全にプルしないように解釈しています。 dev_serverはシングルスレッドなので、 は古いものがタイムアウトするまでそれ以上の要求を処理しません。
他の人の意見はありますか?これが起こると、私はapp_devserverをkillして再起動しなければならないので、非常に迷惑です。
私は、Chromeがキープアライブ接続を使用していると推測しています。応答はすべて読み込まれていますが、後続の要求を高速化するために接続を開いています。私はどのようにサーバーごとにこれを無効にするか分からない。 –
Chromeの非リリース版を使用しているような感じですか?現在の安定版は同じことをしていますか?私はクロムを使用しており、問題なくGAEのために開発しています。 – Matt
奇妙なことに、これはChromeのシークレットウィンドウで実行している場合にのみ発生します... –