Heroku sock=Flask SocketIO 应用程序的后端服务器请求中断

2024-01-28

我有一个在heroku上托管的flask-socketio应用程序,其中包含以下Procfile:

web: gunicorn --worker-class eventlet hello:app

自从我切换到 socketio 以来,该应用程序的行为一直不一致。早些时候,应用程序会运行一段时间,然后 POST 请求就会开始超时。

从昨天晚上开始,我不断收到错误消息

sock=backend at=error code=H18 desc="Server Request Interrupted" method=GET path="/static/js/third-party/browser.js" host=deard.herokuapp.com request_id=725da6af-aa29-4293-a411-2c89977f1d4d fwd="216.165.95.0" dyno=web.1 connect=1ms service=36ms status=503 bytes=13811

我读到了 heroku 错误代码描述,其中写着“在后端返回 HTTP 响应之前,属于您应用程序 Web 进程的后端套接字已关闭。”

但我不知道为什么会发生这种情况。

任何关于我应该注意什么的线索都将帮助我调试这个问题。

我可以分享代码,但它有 300 行长,而且由于我不知道错误源自何处,所以我不确定它是否有帮助。


当您取消或重新发送相同的请求,而在服务器端(flask)上您仍在计算以呈现与初始请求相对应的布局时,Flask 会引发这种“套接字流错误”。

因此,这可能与双方(服务器/客户端)的超时或网络错误处理有关。

有些问题:

服务器端的请求计算持续多长时间? 服务器端和客户端如何处理网络错误异常? Flask 或客户端是否存在超时?

也有可能在前一个请求结束之前发送新的请求。

请分享一些与请求处理相关的代码。

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

Heroku sock=Flask SocketIO 应用程序的后端服务器请求中断 的相关文章

随机推荐

  • 可以使用 Window.Onscroll 方法来检测滚动方向吗?

    可以使用 Window Onscroll 方法来检测滚动方向吗 如果您在页面加载时以及每次发生滚动事件时记录scrollX和scrollY 那么您可以将以前的值与新值进行比较 以了解滚动的方向 这是概念证明 function scrollF
  • 从 .NET Windows 服务调用本机 DLL 失败

    我有一个本机 dll 形式的第 3 方 API 我使用 C 调用它DllImport 此本机 dll 依赖于打开的第 3 方应用程序 当我正常运行代码时 API 会执行预期的操作并驱动应用程序 然而 当我运行与 Windows 服务相同的代
  • 将点分布在边界内的表面上

    我对一种在 4 面 如正方形 上分布预定义数量的点的方法 算法 感兴趣 主要问题是每个点必须具有彼此之间的最小和最大接近度 两个预定义值之间的随机值 基本上 任何两点的距离不应小于 2 也不应大于 3 我的代码将用 ruby 实现 点是位置
  • 一年中的每个星期?

    我试图通过一年中的周数和一年中的周数来获取一年中的月份数 例如 第 1 周是 1 月 返回 1 第 6 周是 2 月 所以我想要 2 我试着去date parse from format W Y 但没有成功 这给了我错误 有什么办法可以一起
  • 运行 sbt 的项目根目录中的 java.lang.NullPointerException

    我从 Scala 开始 尝试在我的项目文件夹中运行 sbtbuild sbt是 当我收到此错误时 此文件夹是唯一的文件夹 如果我在src文件夹或我的文档文件夹中我没有 收到错误 谁能告诉我为什么会发生这种情况 我不知道如何表示文件夹结构 它
  • 在 Linux 上如何获取中断向量号?

    当我运行 cat proc interrupts 时 我可以得到以下信息 CPU0 CPU1 0 253 1878 IO APIC edge timer 1 3 0 IO APIC edge i8042 7 1 0 IO APIC edge
  • jQuery UI Datepicker - 禁用特定日期

    有没有任何 简单 方法可以将 jQuery UI Datepicker 设置为不允许选择特定的预定日期 我能够得到这种方法 https stackoverflow com questions 501943 can the jquery ui
  • Ionic 4:滚动时隐藏离子标签栏,就像 LinkedIn 应用程序一样

    我正在使用默认的 ion tab bar 和底部放置 如 LinkedIn 应用程序中所示 我想在滚动时隐藏标签栏并在滚动停止时再次显示它 这个功能可以在LinkedIn应用程序中看到 这是 tabs page html
  • asp.net、gettype() 和完全限定类名

    我已经阅读了这里的其他一些线程 尽管它们都没有真正解释如何解决我的问题 我有一个带有以下页面的网络应用程序 代码隐藏 namespace Company Web UI Content public partial class Home Lo
  • Yii2 在单个事务中的单个保存调用中保存相关记录

    在 yii2 中 我如何将多个相关记录保存到数据库中到单个保存调用和单个事务中 我有两张桌子 User id name UserAddress id user id city User 表与 UserAdress 表具有一对多关系 我想做的
  • 使用 has_many :through 时连接模型中的验证失败

    我的完整代码可以在以下位置查看https github com andyw8 simpleform examples https github com andyw8 simpleform examples 我有一个加入模型ProductCa
  • 芝麻服务器对 SPIN 的支持

    我是 SPIN 的新手 我阅读了文档并查找了一些示例 但我想开始使用它 我看到了一些工具http topquadrant com http topquadrant com对于 SPIN 但我已经使用 openrdf sesame 服务器一段
  • Android 画布坐标系

    我正在尝试查找有关如何更改画布坐标系的信息 我有一些矢量数据 想使用圆形和线条等绘制到画布上 但数据的坐标系与画布坐标系不匹配 有没有办法将我正在使用的单位映射到屏幕的单位 我正在绘制一个不占用整个显示屏的 ImageView 如果我必须在
  • Tkinter Spinbox 小部件设置默认值

    我有一个 tkinter spinbox sb Spinbox frame from 1 to 12 我想将 spinbox 的默认值设置为 4 我该怎么做 我读过这个帖子 布莱恩建议设置 Tkinter Spinbox values 1
  • 实体控制边界(ECB)与模型视图控制器(MVC)[重复]

    这个问题在这里已经有答案了 我不确定我是否有正确的概念 人们告诉我 边界 视图 实体 模型 控制 控制器 然而基于我对 MVC 的了解 胖模型 瘦控制器 不是 Boundary Controller Control Model 业务逻辑 和
  • 如何防止这个 jQuery 函数在每次页面加载时执行?

    我相信我有办法解决我的问题 但我想确定一下 这就是我所拥有的
  • 有图像和文本的按钮,图像下方有文本,怎么样?

    第一次使用 xamarin 的跨平台应用程序 我正在 Visual Studio 2017 社区中使用 xamarin 表单 我有一个带有图像和文本的按钮 但文本需要位于图像下方 目前文本显示在图像的左侧 我该怎么做 using Syste
  • 将字符串转换为日期和日期时间

    如果我有一个格式为的 PHP 字符串mm dd YYYY 例如 10 16 2003 我如何正确地将其转换为Date然后一个DateTime格式为YYYY mm dd 我要求两者的唯一原因Date and DateTime是因为我需要一个在
  • IE7 中的 CSS

    我有一个CSS ul li 嵌套菜单在 IE 8 和 Firefox 中完美运行 但在 IE7 中它会在元素之间产生一个小间隙 这是我的CSS nav nav ul margin 0 padding 0 list style type no
  • Heroku sock=Flask SocketIO 应用程序的后端服务器请求中断

    我有一个在heroku上托管的flask socketio应用程序 其中包含以下Procfile web gunicorn worker class eventlet hello app 自从我切换到 socketio 以来 该应用程序的行