flask-socketio部署heroku问题解决
问题描述
websocket
聊天室项目在本地可以良好运行,但是部署到heroku
之后,显示无法连接到websocket
服务器,而浏览器使用轮询polling
。
问题解决
问题在于没有启动eventlet
服务器!
需要在Procfile
文件中通过gunicorn
启动eventlet
服务器
# gunicorn --worker-class eventlet -w 1 module:app
web: gunicorn --worker-class eventlet -w 1 --log-file=- ygq.wsgi:app
另外,导入库之间存在一些兼容性问题
一个可用版本组合:
eventlet==0.30.2
flask-socketio==3.0.1
gunicorn==20.1.0
python-engineio==2.2.0
python-socketio==2.0.0
项目地址:
参考文章: