Files
Nexus/docs/design/plans/2026-06-08-sync-log-purge.md
2026-07-08 22:31:31 +08:00

752 B

2026-06-08 — sync_logs 30 天自动清理

背景

设计标准 design-standards.md 规定 sync_logs 保留 30 天;代码仅有手动 reconcile-stale-logs,无自动 purge,表会无限增长。

方案

  1. SyncLogRepositoryImpl.purge_older_than(retention_days=30) — 按 started_at 批量 DELETE(每批 1000 行)。
  2. sync_log_purge_loop — primary worker 启动后立即执行一次,之后每 24h 重复。

涉及文件

  • server/infrastructure/database/sync_log_repo.py
  • server/background/sync_log_purge.py
  • server/main.py

测试

pytest tests/test_sync_log_purge.py -q
bash scripts/local_verify.sh

回滚

移除 main.pysync_log_purge 任务;已删除行不可恢复。