From 5034374066304f537ef441a988cc7064a3e72697 Mon Sep 17 00:00:00 2001 From: starmen1265 Date: Mon, 9 Mar 2026 14:50:32 +0800 Subject: [PATCH] =?UTF-8?q?fix(stats):=20=E6=B7=BB=E5=8A=A0=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E6=95=B0=E9=87=8F=E9=99=90=E5=88=B6=EF=BC=88=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=2010000=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 MAX_EVENTS 常量(默认 10000) - record_event() 在事件数超过限制时移除最旧的事件 - 防止数据文件无限增长 --- agents/haonan/workspace/dev-workflow/stats.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/agents/haonan/workspace/dev-workflow/stats.py b/agents/haonan/workspace/dev-workflow/stats.py index 2f72768..6561bf1 100644 --- a/agents/haonan/workspace/dev-workflow/stats.py +++ b/agents/haonan/workspace/dev-workflow/stats.py @@ -18,6 +18,12 @@ from collections import defaultdict STATS_DIR = Path(__file__).parent / "data" STATS_FILE = STATS_DIR / "stats_data.json" +# 锁文件路径 +LOCK_FILE = STATS_DIR / "stats_data.lock" + +# 最大事件数量限制 +MAX_EVENTS = 10000 + # 敏感字段列表(不记录这些字段) SENSITIVE_FIELDS = {"password", "token", "secret", "key", "credential", "auth"} @@ -153,6 +159,11 @@ def record_event( # 加载现有数据 data = _load_stats_data() data["events"].append(event) + + # 事件数量限制:超过 MAX_EVENTS 时移除最旧的事件 + if len(data["events"]) > MAX_EVENTS: + data["events"] = data["events"][-MAX_EVENTS:] + data["metadata"]["last_updated"] = datetime.now().isoformat() # 原子写入