Compare commits
2 Commits
a8bccd7c3f
...
692b300f9b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
692b300f9b | ||
|
|
4ba25d7aa1 |
@@ -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'):
|
||||
|
||||
Reference in New Issue
Block a user