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 倉庫
插件目錄

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

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

小夜