使用 Google App Engine 2.6.0 和 Python 2.7 运行 Django Nonrel,我在尝试首次加载 localhost 和 localhost/admin 时遇到此异常(不过我预计任何页面都会发生这种情况):
Exception happened during processing of request from ('127.0.0.1', 57011)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 284, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 310, in process_request
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver.py", line 2438, in __init__
BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
File "/usr/lib/python2.7/SocketServer.py", line 641, in __init__
self.finish()
File "/usr/lib/python2.7/SocketServer.py", line 694, in finish
self.wfile.flush()
File "/usr/lib/python2.7/socket.py", line 303, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
奇怪的是,它只在使用 Google Chrome 时出现。使用 Firefox 时,它不会打印任何异常(或者至少,经过多次尝试,我无法在 Firefox 中复制此问题)。
有人知道这个问题吗?
谢谢
最佳答案
已经有a few similar reports Chrome 和 dev_appserver.py 之间的竞争条件问题。通常的情况是 Chrome 打开多个与服务器的并发连接,但首先在第二个连接上发送请求。因为 dev_appserver 是单线程的,第一个请求阻塞,服务器挂起,直到有人放弃。
据说使用 --disable-preconnect
启动 Chrome 可以防止这种情况。
关于python - 加载本地主机时 Django Nonrel 中的管道错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8088941/