使用Bottle框架的Python粘贴破坏管道错误

使用Bottle框架的Python粘贴破坏管道错误,第1张

概述我正在使用实现WSGI请求和响应的Bottle框架,并且由于单线程问题,我将服务器更改为 PythonWSGIServer并使用Apache bench进行测试,但结果包含错误管道,与此问题 How to prevent errno 32 broken pipe?类似. 我已经尝试了答案但无济于事. Traceback (most recent call last): File "/Libra 我正在使用实现Wsgi请求和响应的Bottle框架,并且由于单线程问题,我将服务器更改为 PythonWsgiServer并使用Apache bench进行测试,但结果包含错误管道,与此问题 How to prevent errno 32 broken pipe?类似.
我已经尝试了答案但无济于事.
Traceback (most recent call last):  file "/library/Python/2.7/site-packages/paste/httpserver.py",line 1068,in process_request_in_thread    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 "/System/library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py",line 641,in __init__    self.finish()  file "/System/library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py",line 694,in finish    self.wfile.flush()  file "/System/library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py",line 303,in flush    self._sock.sendall(vIEw[write_offset:write_offset+buffer_size])error: [Errno 32] broken pipe

服务器代码如下所示,我不知道如何使用线程池改善连接?

from paste import httpserver    @route('/')    def index():        connection = pymongo.MongoClIEnt(connectionString)        db = connection.test        collection = db.test        return str(collection.find_one())    application = default_app()    httpserver.serve(application,host='127.0.0.1',port=8082)
解决方法 问题是由于WsgiServer是同步服务器,并不适用于同时发送请求的高并发用户.为了绕过这些后备,可以使用很多第三方框架.其中最受欢迎的是Gevent greenlet图书馆,Tornado和CherryPy.所有这些都基于事件驱动和异步方法,使他们能够处理多个并发用户. 总结

以上是内存溢出为你收集整理的使用Bottle框架的Python粘贴破坏管道错误全部内容,希望文章能够帮你解决使用Bottle框架的Python粘贴破坏管道错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1205147.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存