我有一个在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(使用前将#替换为@)