我在osx lion上遇到runserver问题。静态资产不会随机传输,我偶尔会得到这样的信息:
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 57555)
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 284, in _handle_request_noblock
self.process_request(request, client_address)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 310, in process_request
self.finish_request(request, client_address)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 323, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/Users/ehutch79/pyenv/sd/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 570, in __init__
BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 639, in __init__
self.handle()
File "/Users/ehutch79/pyenv/sd/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 610, in handle
self.raw_requestline = self.rfile.readline()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 447, in readline
data = self._sock.recv(self._rbufsize)
timeout: timed out
----------------------------------------
这是非常不一致的。谷歌搜索没有透露任何信息有没有人知道可能导致它的原因?
它似乎不是浏览器,因为我在Chrome,本地和ie和远程盒子上的chrome都看过它。
答案 0 :(得分:3)
开发服务器是单线程的,因此如果同时建立2个连接并且阻塞,它们将永远等待彼此。确保没有这样的问题:
最近发生在我身上,当我尝试从我自己的代码测试SOAP调用到我自己的代码时,urllib从一个视图中打开一个触发另一个视图的url。
有时候,它不会访问阻塞资源,但并发会使请求非常缓慢,因此会超时。 E.G:你有两个浏览器指向同一个devserver,他们正在做积极的HTTP KeepAlive。
除了使用其他东西测试这些特定功能外,没有什么可做的,例如gunicorn或werkzeug。对于werzeug,请安装django-extensions,然后使用./manage.py runserver_plus --threaded