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

Den*_*rge 5 python heroku flask flask-socketio

我有一个使用以下Procfile托管在heroku上的flask-socketio应用程序:

web: gunicorn --worker-class eventlet hello:app
Run Code Online (Sandbox Code Playgroud)

自从我切换到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
Run Code Online (Sandbox Code Playgroud)

我阅读了heroku错误代码说明,其中说明"在后端返回HTTP响应之前,属于您应用程序的Web进程的后端套接字已关闭".

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

关于我应该注意什么的任何线索,将帮助我调试这个.

我可以共享代码,但它的300行很长,因为我不知道错误源自何处,我不确定它是否有用.

A S*_*ANI 0

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

所以它可能与双方(服务器/客户端)的超时或网络错误处理有关。

有些问题:

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

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

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