update pay ui
This commit is contained in:
17
app.py
17
app.py
@@ -421,21 +421,24 @@ db = SQLAlchemy(app)
|
||||
mail = Mail(app)
|
||||
|
||||
# 初始化 Flask-SocketIO(用于实时事件推送)
|
||||
# 自动检测可用的异步模式,优先级:eventlet > gevent > threading
|
||||
# 支持通过环境变量指定模式: SOCKETIO_ASYNC_MODE=gevent|threading
|
||||
def _detect_async_mode():
|
||||
"""检测可用的异步模式"""
|
||||
try:
|
||||
import eventlet
|
||||
return 'eventlet'
|
||||
except ImportError:
|
||||
pass
|
||||
# 允许通过环境变量强制指定
|
||||
forced_mode = os.environ.get('SOCKETIO_ASYNC_MODE', '').lower()
|
||||
if forced_mode in ('gevent', 'threading', 'eventlet'):
|
||||
return forced_mode
|
||||
|
||||
# 检测 gevent 是否已被 patch(Gunicorn -k gevent 会自动 patch)
|
||||
try:
|
||||
from gevent import monkey
|
||||
if monkey.is_module_patched('socket'):
|
||||
return 'gevent'
|
||||
except ImportError:
|
||||
pass
|
||||
return 'gevent' # 默认使用 gevent,Gunicorn 会 patch
|
||||
|
||||
# 默认使用 threading(最稳定,配合 simple-websocket)
|
||||
return 'threading'
|
||||
|
||||
_async_mode = _detect_async_mode()
|
||||
print(f"📡 Flask-SocketIO async_mode: {_async_mode}")
|
||||
|
||||
Reference in New Issue
Block a user