你好各位前辈,我有些问题想询问一下
我的项目使用Python Flask搭建的,前后端用SocketIO 进行交互。
但是我想用gunicorn eventlet进行并行,出现了问题(为什么我不用gevent呢?gunicorn如果使用gevent,不知道为什么,python在使用gunicorn运行的时候会出现greenlet的异常. 但是eventlet一切正常)
当我并行时,前端出现了如下问题
我是用 “gunicorn app:app –c ./gunicorn.conf.py 来运行项目
./gunicorn.conf.py
workers = 2
worker_class = "eventlet"
bind = "0.0.0.0:8080"
当我设置workers = 1的时候,没有任何问题,但是当workers设置超过1,就会发生以上的问题
我的配置
requirements.txt
eventlet==0.25.2
gevent==20.6.2
greenlet==0.4.16
gunicorn==20.0.4
app.py
@app.route('/')
def index():
return render_template('index.html')
if __name__ == '__main__':
socketio.run(app, host="0.0.0.0", port=8080)
index.html SocketIO版本
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/socket.io/1.3.6/socket.io.min.js"></script>
Index.js:
var socket = io.connect('http://' + document.domain + ':' + location.port, { 'reconnect': true });
就是当我跑单进程的时候什么问题都没有,当我想用gunicorn并行的时候就出现了以上问题。
请各位前辈不吝赐教,感谢