我正在构建使用套接字(flask socketio)的python Flask应用程序。基本上,客户端会向服务器发送一些他想要执行的命令。服务器将执行命令并将套接字发送到客户端命令输出。
有处理函数接收来自用户的请求。该函数将执行命令并将大量套接字发送回客户端。抓取标准输出和标准错误线程也被使用。
@socket.on ('run-code')
@authenticated_only
def socket_run_code_request (request):
# run command
# emit socket for each line of output
如果烧瓶应用程序处于调试模式,则函数内部发出的套接字将在函数结束之前到达客户端(这是可取的)。但是如果调试关闭,所有套接字都会以某种方式排队并在函数结束后发送。服务器没有实时响应,只是
单击执行->等一下->这是您的输出
代替:
单击执行->这里有一点输出->这里有另一行-> ...
我已阅读 Flask 文档,但调试说明如下:
如果您启用调试支持,服务器将在代码更改时自行重新加载,如果出现问题,它还会为您提供有用的调试器
有什么方法可以告诉 Flask 立即发送所有内容,或者有一些想法如何解决这个问题?它可能与flask的flask-socketio插件有关
非常感谢您的反馈:)