From 3b4b811cc324047288728a2a276743f3e1dce558 Mon Sep 17 00:00:00 2001 From: ylytdeng Date: Wed, 4 Mar 2026 20:41:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B8=85=E7=90=86=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=20+=20=E6=8F=90=E5=8D=87=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E7=A8=B3=E5=AE=9A=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除 _debug_log、signal handler、atexit 等调试代码 - 添加 allow_reuse_address 防止重启端口占用 - warmup 线程加外层异常捕获防止静默崩溃 - 恢复启动自动打开浏览器 Co-Authored-By: Claude Opus 4.6 --- monitor_web.py | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/monitor_web.py b/monitor_web.py index 88b45ef..d1de7b8 100644 --- a/monitor_web.py +++ b/monitor_web.py @@ -1866,6 +1866,7 @@ class Handler(BaseHTTPRequestHandler): class ThreadedServer(ThreadingMixIn, HTTPServer): daemon_threads = True + allow_reuse_address = True def main(): @@ -1907,19 +1908,22 @@ def main(): # 后台预热所有 message DB(图片/emoji 解密必需) def _warmup(): - t0 = time.perf_counter() - warmup_keys = ["message\\message_resource.db"] - for i in range(5): - k = f"message\\message_{i}.db" - if k in keys: - warmup_keys.append(k) - for k in warmup_keys: - t1 = time.perf_counter() - try: - db_cache.get(k) - print(f"[warmup] {k} {(time.perf_counter()-t1)*1000:.0f}ms", flush=True) - except Exception as e: - print(f"[warmup] {k} 失败: {e}", flush=True) + try: + t0 = time.perf_counter() + warmup_keys = ["message\\message_resource.db"] + for i in range(5): + k = f"message\\message_{i}.db" + if k in keys: + warmup_keys.append(k) + for k in warmup_keys: + t1 = time.perf_counter() + try: + db_cache.get(k) + print(f"[warmup] {k} {(time.perf_counter()-t1)*1000:.0f}ms", flush=True) + except Exception as e: + print(f"[warmup] {k} 失败: {e}", flush=True) + except Exception as e: + print(f"[warmup] 异常: {e}", flush=True) # 构建 emoji 映射(独立解密,不走 cache) _build_emoji_lookup(keys) print(f"[warmup] 全部完成 {(time.perf_counter()-t0)*1000:.0f}ms", flush=True) @@ -1934,7 +1938,7 @@ def main(): try: os.system(f'cmd.exe /c start http://localhost:{PORT}') - except: + except Exception: pass try: