Flask-SocketIO添加async_mode='gevent'的启动方式,调整monkey_patch执行位置

This commit is contained in:
azhengzz 2021-05-11 10:51:03 +08:00
parent 373aa199fe
commit e6cf9c97d0
2 changed files with 9 additions and 4 deletions

View File

@ -17,9 +17,6 @@ from app.template_global import (render_to_json, sort_by_order_in_module, sort_b
calc_percent, url_for_static)
from app.cores.ws import register_all_user_socket
import eventlet
eventlet.monkey_patch()
def create_app(config_class=Config):
app = Flask(import_name=__name__)

View File

@ -22,7 +22,15 @@ login_manager.login_message = "请先登录"
mail = Mail()
csrf = CSRFProtect()
bootstrap = Bootstrap()
socketio = SocketIO(async_mode='eventlet')
# 支持后台线程发送,并被前端接收到
async_mode = 'eventlet'
if async_mode == 'eventlet':
import eventlet
eventlet.monkey_patch()
elif async_mode == 'gevent':
from gevent import monkey
monkey.patch_all()
socketio = SocketIO(async_mode=async_mode)
session_id_manager = SessionIDManager()
dispatcher_scheduler = DispatcherScheduler()