python - Flask 在被请求太频繁时给出 "error 32 broken pipe"

标签 python flask server

我写了一个非常简单的 flask 服务器。此服务器响应 GET 并返回我的 home.html。 我在 127.0.0.1:5000 上访问该站点

到目前为止一切都很好。

但是,如果我尽可能快地多次按“刷新”(在我的计算机上为 Command+R)几秒钟,那么,我的 flask 会出现此错误并发生故障。

Exception in thread Thread-1: Traceback (most recent call last): File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 801, in bootstrap_inner self.run() File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 754, in run self.__target(*self.__args, **self.__kwargs) File "/usr/local/lib/python2.7/site-packages/werkzeug/serving.py", line 659, in inner srv.serve_forever() File "/usr/local/lib/python2.7/site-packages/werkzeug/serving.py", line 499, in serve_forever HTTPServer.serve_forever(self) File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 238, in serve_forever self._handle_request_noblock() File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 297, in _handle_request_noblock self.handle_error(request, client_address) File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 295, in _handle_request_noblock self.process_request(request, client_address) File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 321, in process_request self.finish_request(request, client_address) File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 334, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 655, in __init self.handle() File "/usr/local/lib/python2.7/site-packages/werkzeug/serving.py", line 216, in handle rv = BaseHTTPRequestHandler.handle(self) File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/BaseHTTPServer.py", line 340, in handle self.handle_one_request() File "/usr/local/lib/python2.7/site-packages/werkzeug/serving.py", line 251, in handle_one_request return self.run_wsgi() File "/usr/local/lib/python2.7/site-packages/werkzeug/serving.py", line 193, in run_wsgi execute(self.server.app) File "/usr/local/lib/python2.7/site-packages/werkzeug/serving.py", line 184, in execute write(data) File "/usr/local/lib/python2.7/site-packages/werkzeug/serving.py", line 152, in write self.send_header(key, value) File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/BaseHTTPServer.py", line 401, in send_header self.wfile.write("%s: %s\r\n" % (keyword, value)) IOError: [Errno 32] Broken pipe

我相信这就是发生的事情:当我的服务器试图将 html 传输到我的浏览器时,我按下了刷新并破坏了管道。所以我的服务器感到困惑然后给出错误。

如何解决这个问题?或者这个网站根本无法使用,因为任何不断询问我的页面的人都可以破坏我的网页。

谢谢!

最佳答案

您可以按照 this 中的建议尝试使用 app.run(threaded=True)所以回答。

关于python - Flask 在被请求太频繁时给出 "error 32 broken pipe",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43893208/

相关文章:

python - 在应用程序上下文之外获取配置变量

python - Flask 比较字符串

javascript - url_for() 在ajax中调用静态文件

python - python中的Hadoop Streaming Job失败错误

python - Pandas 蟒 : Merging every two rows in one dataframe

java - 在 Java 中创建远程 SocketServer 时出现 Connectiontimedout 错误

ssl - 证书错误DLG_FLAGS_SEC_CERT_CN_INVALID

html - 当人们说静态文件是 .html、.js 等时,他们是不是犯了一个错误?

python - Django 教程(使用 Heroku 上的指南), “Please supply the ENGINE value”(是的,我读过其他线程)

python - mongodb 在聚合时从同一文档的数组中获取唯一值