2 Commits

Author SHA1 Message Date
CakeCN
692b300f9b Merge branch 'main' of https://hsamooc.com/git/CakeCN/hsa 2026-01-08 20:32:29 +08:00
CakeCN
4ba25d7aa1 准备修复多租户 2026-01-08 20:32:28 +08:00

View File

@@ -1,6 +1,9 @@
import eventlet
from eventlet import greenio
import logging
import traceback
# 获取当前 socketio 实例并配置错误处理
import sys
# 配置 eventlet 日志,抑制 IOClosed 等错误日志
logging.getLogger('eventlet.hubs').setLevel(logging.CRITICAL)
logging.getLogger('eventlet.greenio').setLevel(logging.CRITICAL)
@@ -10,11 +13,7 @@ eventlet.monkey_patch()
# 配置 eventlet 以更优雅地处理错误,避免疯狂报错
try:
import eventlet
import traceback
# 1. 首先,禁用 eventlet 的调试日志,减少输出
import logging
logging.getLogger('eventlet').setLevel(logging.CRITICAL)
logging.getLogger('socketio').setLevel(logging.CRITICAL)
logging.getLogger('werkzeug').setLevel(logging.CRITICAL)
@@ -41,11 +40,7 @@ try:
# 4. 只修改关键的 greenio 方法,确保在致命错误时彻底关闭连接
# 增强 socketio 错误处理,确保不会因为单个连接错误而宕机
try:
from flask_socketio import SocketIO
# 获取当前 socketio 实例并配置错误处理
import sys
original_excepthook = sys.excepthook
def custom_excepthook(exc_type, exc_value, exc_traceback):
"""全局异常钩子,捕获所有未处理的异常"""
error_str = str(exc_value)
@@ -65,7 +60,6 @@ try:
except Exception as e:
# 如果修改失败,忽略错误
print(f"[Global Excepthook Patch Error] {e}")
from eventlet import greenio
# 保存并替换原始的 greenio 方法
if hasattr(greenio.base.GreenSocket, '_recv_loop'):