我正在按照以下方式设置Flask应用程序:
from flask import Flask, render_template
from flask_socketio import SocketIO
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO()
socketio.init_app(app)
# All the code ...
运行uWSGI时,我传递了以下参数:
uwsgi --socket app.sock --http-websockets --master --wsgi-file app.py --callable app
但是这样做,出现以下错误:
RuntimeError:您需要使用事件服务器。有关更多信息,请参见文档的“部署”部分。
[我怀疑我的代码返回的app
没有包装SocketIO系统,因此在使用uwsgi时,使用eventlet失败。
我应该为uwsgi服务以使其起作用吗?
uWSGI与gevent结合使用,而不与eventlet结合使用。看来您在virtualenv中安装了eventlet,这令人困惑。卸载eventlet,安装gevent(如果尚未安装),然后我认为您会得到更好的结果。