使用 Bottle 框架进行 Python 粘贴 Broken Pipe Error

2024-02-09

我正在使用 Bottle 框架实现 WSGI 请求和响应,并且由于单线程问题,我将服务器更改为 PythonWSGIServer 并使用 Apache bench 进行测试,但结果包括错误损坏的管道,这与这个问题类似如何防止errno 32断管? https://stackoverflow.com/questions/11866792/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。所有这些都基于事件驱动和异步方法,使它们能够处理多个并发用户。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Bottle 框架进行 Python 粘贴 Broken Pipe Error 的相关文章

随机推荐

  • Travis ci 上的 Python3 模块导入失败

    我制作了一个 Python 3 脚本来测试我的项目 剧本 https github com anestv server test有这样的结构 main py myRequest py external requests init py ma
  • Android 检查 EditText 中的空格

    我在 Android 中编辑文本时遇到问题 我有一个名为 Username 的字段 我希望每当有人写一个带有空格的用户名时 例如 Gaurav Arora 然后 在按下登录按钮时 它应该引发一个祝酒词或错误 我这样做了 我只是在文本观察器的
  • Android 如何从 SharedPreference 设置 EditTextPreference 的默认值?

    这次在同一个项目中 我面临一个稍微具有挑战性的问题 在 res xml 文件夹中的 settings xml 文件中
  • 从文件中删除扩展名[重复]

    这个问题在这里已经有答案了 可能的重复 如何从字符串中删除扩展名 只有真正的扩展名 https stackoverflow com questions 2395882 how remove extension from string onl
  • Play框架和OSGI

    是否可以将 Play 框架与 OSGI 集成以创建可插入组件 有人尝试过吗 如果您的意思是 使用 OSGi 创建 Play 模块 那么不 不支持它 如果您的意思是 将 Play 部署为 OSGi 模块 那么不 不支持它 公平地说 没有理由推
  • Ajax 加载后 AddThis 不起作用

    我有 AddThis js 用于将详细信息添加到日历的书签 这在页面加载时工作正常 但我使用 ajax 加载并替换 html 进行了一些过滤 之后 AddThis 按钮不显示 这是我的 ajax 代码 document ready func
  • 如何使用 jQuery 添加 DOM 元素?

    我有一个当前用来显示隐藏 div type 的函数 我怎样才能修改这段代码 而不是在隐藏的div中淡出 我可以将新的 div 添加到 DOM jQuery function Add Answer jQuery add answer clic
  • 将文本显示到另一个类的标签 - JFrame

    我有一个 GUI 屏幕 里面有一个标签 我现在想用文本设置标签 如下所示 Test 但它没有得到更新 我认为以下代码中有错误 我在 try 块中重新创建了 FrameTest 的新对象 FrameTest frame new FrameTe
  • 如何让puppeteer通过socks5代理工作?

    我购买了socsk5的代理服务器版本 所有手册中都有相同的示例 const browser await puppeteer launch headless true ignoreHTTPSErrors true defaultViewpor
  • 更改 Qt5 中 QGraphicsScene/View 中的像素图位置

    我有一个普通的 QGraphicsView QGraphicsScene 我想要做的就是将 QPixmap png 加载到图形并手动设置该 QPixmap 图像的位置 我找到了解决方案 但它们不适用于 Qt5 关于如何在 Qt5 上实现这一
  • ionic externalRootDirectory 无法写入 SD 卡

    我一直在尝试使用 IONIC 中的 cordova plugin file 插件写入 Android 设备上的 可移动 SD 卡 但没有成功 该文档指定了 externalRootDirectory 为 Android 外部存储 SD 卡
  • 无法建立 SSL 连接

    我正在使用第三方库 Splunk C SDK http dev splunk com csharp 在我的 ASP NET Core 应用程序中 我尝试通过此 SDK 连接到我的本地主机 Splunk 服务 但出现异常 System Net
  • ASP.NET - Ajax 控件工具包 - TabContainer 始终隐藏

    我使用以下代码将 TabContainer 添加到页面
  • SonarQube 测试覆盖 .NET 5

    我想在本地 SonarQube 实例 在 Windows 上 中显示 NET 5 单元测试的测试覆盖率 dotnet sonarscanner begin k MyProject d sonar host url http localhos
  • Stream_socket_client 无法连接到 Apple APNS(权限被拒绝)

    我遇到过通过 php 发送推送通知的罕见情况 但我无法弄清楚 我有一个简单的 php 脚本 可以发送如下所示的通知 如果我通过命令行 php script php 执行此文件 它就可以正常工作 如果我通过网络执行http domain co
  • 使用计算表达式避免厄运金字塔?

    我碰到这个问题 https stackoverflow com questions 39858643 getting rid of the pyramid of doom in f关于 F 中的 末日金字塔 那里接受的答案涉及使用活动模式
  • Rails:这种带有关联条件的多重连接有什么问题?

    这是我的模型 class Deck lt ActiveRecord Base belongs to game has many deck cards end class DeckCard lt ActiveRecord Base belon
  • R:使用 recode、mutate 和 case_when 重新编码变量

    我想为数据集中由 core vars 定义的以下变量重新编码以下值 4 1 并仍将其余变量保留在数据框中 temp df lt as tibble mtcars other vars lt c hp drat wt core vars lt
  • Scala中如何避免依赖注入?

    I read 没有体操的依赖注入 PDF http phillyemergingtech com 2012 system presentations di without the gymnastics pdf这表明不需要任何花哨的 DI 框
  • 使用 Bottle 框架进行 Python 粘贴 Broken Pipe Error

    我正在使用 Bottle 框架实现 WSGI 请求和响应 并且由于单线程问题 我将服务器更改为 PythonWSGIServer 并使用 Apache bench 进行测试 但结果包括错误损坏的管道 这与这个问题类似如何防止errno 32