From 4ba25d7aa1404b0d2c2db6e3effaf7de98ffc6f4 Mon Sep 17 00:00:00 2001 From: CakeCN Date: Thu, 8 Jan 2026 20:32:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=86=E5=A4=87=E4=BF=AE=E5=A4=8D=E5=A4=9A?= =?UTF-8?q?=E7=A7=9F=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code-server-like/app/__init__.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/code-server-like/app/__init__.py b/code-server-like/app/__init__.py index 91d797d..af165c4 100644 --- a/code-server-like/app/__init__.py +++ b/code-server-like/app/__init__.py @@ -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): """全局异常钩子,捕获所有未处理的异常""" if exc_type.__name__ in ['OSError', 'IOError'] and 'Bad file descriptor' in str(exc_value): @@ -64,7 +59,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'):