Flask SocketIO 自动重新加载不工作(在代码 change/development 上)

Flask SocketIO auto-reload is not working (on code change/development)

自动重新加载器(在代码更改时)使用应用程序工作正常。run/flask 运行 --host=0.0.0.0 --port 8080.

然而,一旦我将 flask_socketio 添加到混音中,它就会停止工作。

例如引入:

from flask_socketio import SocketIO, send, emit
socketio = SocketIO(app, path='/kpi/socket.io')
socketio.run(app, host='0.0.0.0', port=8080, debug=True, use_reloader=True, use_debugger=True)

requirements.txt

Flask==1.0.2
Flask-Bootstrap==3.3.7.1
Gunicorn==19.8.1
inotify==0.2.9
pymysql==0.7.2
flask-socketio==3.0.1
eventlet==0.23.0
socketIO-client==0.7.2

我确实在日志中看到“* Restarting with stat”,就像我通常 运行ning flask 一样。

无关信息:这是 运行 在 docker 容器中,我有一个用于开发的撰写文件,其中我 运行 开发模式,并且有一个环境变量用于 FLASK_DEBUG=1。使用 nginx 将其余部分代理到端口 80,然后我将其服务器连接到另一个本地端口。在我添加 socketio 之前,这一切都很好而且花花公子。

最后这样做:

运行 这在开发中(这为 wsgi 引入了 werkzeug 调试器)

# TODO run this only in dev
from werkzeug.debug import DebuggedApplication
app.debug = True
app.wsgi_app = DebuggedApplication(app.wsgi_app, evalex=True)

然后使用 supervisord 和 运行 uwsgi 而不是包括标志

--py-autoreload 1

这两个 return 我想要开发的功能。现在只需要在开发模式下让它们 运行 就可以了。