momojie-s/dsh-archive-retention:归档会话定期清理

前言

DSH 的归档机制通常是“只进不出”的。随着时间推移,物理归档堆(sessions-archive/)和页面归档的会话记录会不断累积,导致 Web GUI 的响应变慢。本插件在宿主侧挂载一个定时清扫任务,自动删除超过保留期的归档数据,并生成审计清单,从而保持系统的整洁与性能。

插件简介

momojie-s/dsh-archive-retention 是一个归档会话定期清理插件,由开发者 Momojie-S 维护,采用 MIT 许可证。它通过 Cron 调度,针对物理归档堆、页面归档会话记录以及孤儿子 agent 进行自动清理。

核心功能

  1. 物理归档堆自动清理
  2. 页面归档会话记录自动清理
  3. 孤儿子 agent 自动清理
  4. 保留期配置(支持天/小时)
  5. Cron 调度清扫
  6. 生成审计清单
  7. Web 设置页直接配置

安装与启用

安装后需要重启 DSH 才能生效。

dsh plugin --profile web add github:Momojie-S/dsh-archive-retention

配置与使用

插件支持通过 Web 设置页进行可视化配置,无需修改配置文件。

  1. 配置保留期
    进入设置页,找到插件区中的“归档自动清理”卡片。设置保留期数值与单位(支持天或小时)。默认保留期为 7 天。

  2. 配置清扫节奏
    设置检查清理的时间间隔。默认为每小时检查一次,最小间隔为 15 分钟。

  3. 配置清理范围
    通过开关独立控制物理归档堆、页面归档会话记录、孤儿子 agent 的清理行为。

  4. 验证清理
    将保留期临时调整为 1 小时,等待清理周期执行,随后观察 sessions-archive/_manifests/ 目录下生成的 retention-*.json 审计清单。

清理范围与安全边界

清理对象:
- 物理归档堆
- 页面归档会话记录
- 孤儿子 agent(父会话目录已不存在的子 agent)

安全边界:
- 绝不触碰未归档的主会话
- 绝不触碰运行中或内存中的会话
- 绝不触碰 _manifests 目录
- 对于无法确认父子关系的目录(头部读取失败),宁可不动

注意事项

  • 版本要求:DSH 版本需在 0.1.5-rc.1 及以上。
  • 环境要求:需要 web profile(即使用设置页 UI)。
  • 数据性质:归档 ≠ 永久保存,保留期即“宽限期”,到期即焚。

总结

本插件通过 Web UI 提供可视化的配置,避免手动管理归档文件。它仅针对已归档且过期的数据进行物理删除,确保 DSH 运行环境的轻量化。

GitHub 仓库
插件目录

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜