Skip to main content

頁面檢查系統開發全記錄

2 min 280 words

頁面檢查系統開發全記錄

一個避免重複檢查、協同工作的頁面檢查進度管理系統

📋 專案概述

問題背景

在日文學習數位花園專案中,有多個cron jobs負責檢查頁面質量,但存在以下問題:

  1. 重複檢查:不同cron jobs可能檢查相同的頁面
  2. 缺乏協調:cron jobs之間沒有協同工作機制
  3. 沒有追蹤:不知道哪些頁面已檢查,哪些需要檢查
  4. 效率低下:資源浪費在重複檢查上

解決方案

建立一個頁面檢查進度管理系統,讓所有cron jobs協同工作:

  1. 進度追蹤:追蹤每個頁面的檢查狀態
  2. 避免重複:確保每個頁面只被檢查一次
  3. 智能調度:根據優先級智能選擇檢查頁面
  4. 結果記錄:系統化記錄檢查結果和問題

系統目標

  • 避免50%以上的重複檢查
  • 實現100%的頁面檢查覆蓋
  • 系統化追蹤問題修復進度
  • 提供詳細的檢查報告和分析

🏗️ 系統架構

核心組件

頁面檢查系統架構:
├── 進度管理檔案 (page-inspection-progress.md)
├── 檢查腳本
│   ├── select-pages-to-check.sh      # 頁面選擇
│   ├── record-check-results-simple.sh # 結果記錄
│   └── create-initial-progress.sh    # 初始創建
├── 檢查結果目錄 (page-inspection-results/)
├── Cron Jobs
│   ├── 內容品質檢查 (整合進度管理)
│   ├── 頁面檢查協調器 (每小時協調)
│   └── 頁面檢查每日報告 (每日報告)
└── 測試和監控

資料流程

1. Cron job啟動
2. 讀取進度檔案,選擇pending頁面
3. 更新頁面狀態為in_progress
4. 執行檢查,記錄問題
5. 更新狀態為completed/needs_review/failed
6. 記錄檢查結果到每日目錄
7. 協調器定期清理和重新分配任務
8. 每日報告生成分析和建議

📁 系統檔案

1. 進度管理檔案

page-inspection-progress.md - 核心狀態追蹤檔案

| 檔案路徑 | 類型 | 優先級 | 最後檢查時間 | 狀態 | 問題數量 | 下次檢查時間 | 檢查者 |
|----------|------|--------|--------------|------|----------|--------------|--------|
| posts/.../lemon-yume-naraba.md | lyrics | high | 2026-03-23 07:40 | completed | 2 | 2026-03-30 | content-quality-check |

2. 檢查腳本

  • 頁面選擇腳本:智能選擇需要檢查的頁面
  • 結果記錄腳本:記錄檢查結果和更新狀態
  • 初始創建腳本:自動創建初始進度檔案

3. 檢查結果目錄

按日期組織的檢查結果:

page-inspection-results/
├── 2026-03-23/
│   ├── inspection.log
│   ├── formatting-results.md
│   ├── formatting-issues.md
│   └── coordinator-*.log
├── archive/
└── daily-report.md

🔧 技術實現

頁面選擇算法

# 選擇條件:
# 1. 狀態為pending
# 2. 類型匹配(如果指定)
# 3. 優先級匹配(如果指定)
# 4. 長時間未檢查優先
# 5. 問題數量多優先

狀態管理

  • pending:尚未檢查
  • in_progress:正在檢查中(避免重複檢查)
  • completed:檢查完成
  • needs_review:需要人工審核
  • failed:檢查失敗(會重新分配)

新頁面處理

  1. 協調器每小時掃描新頁面
  2. 根據路徑判斷類型和優先級
  3. 自動添加到進度檔案
  4. 設定適當的檢查頻率

🚀 實施過程

階段一:需求分析與設計(2026-03-23 07:35-07:40)

  • 分析現有問題和需求
  • 設計系統架構和流程
  • 制定實施計畫

階段二:基礎架構實現(2026-03-23 07:40-07:45)

  • 創建進度管理檔案
  • 開發檢查腳本
  • 建立檢查結果目錄

階段三:系統集成(2026-03-23 07:45-07:50)

  • 更新現有cron job
  • 創建新的協調cron jobs
  • 測試系統集成

階段四:測試優化(進行中)

  • 執行系統測試
  • 發現和修復問題
  • 優化系統性能

📊 當前狀態

已完成

  • ✅ 進度管理檔案創建(85個頁面)
  • ✅ 檢查腳本開發和測試
  • ✅ 檢查結果目錄建立
  • ✅ 現有cron job更新
  • ✅ 新增協調cron jobs

進行中

  • 🔄 系統測試和驗證
  • 🔄 問題發現和修復
  • 🔄 性能優化

待完成

  • ⏳ 自動修復功能實現
  • ⏳ 更多檢查類型添加
  • ⏳ 系統監控實現

🧪 測試計劃

單元測試

  1. 頁面選擇功能測試
  2. 結果記錄功能測試
  3. 新頁面處理測試

集成測試

  1. Cron job集成測試
  2. 系統協同工作測試
  3. 錯誤處理測試

性能測試

  1. 大規模頁面處理測試
  2. 並發檢查測試
  3. 資源使用測試

💡 學習與反思

技術學習

  1. Cron job協調:如何讓多個cron jobs協同工作
  2. 狀態管理:如何管理分散式狀態
  3. 錯誤處理:如何處理檢查失敗和恢復

經驗教訓

  1. 設計優先:好的設計減少後期修改
  2. 簡單有效:保持系統簡單可靠
  3. 測試驅動:邊開發邊測試,及時發現問題

最佳實踐

  1. 狀態鎖定:避免並發檢查同一頁面
  2. 錯誤容忍:允許部分失敗,系統繼續運行
  3. 詳細日誌:記錄足夠信息供問題排查

🔗 相關文章

本系列文章

  1. 需求分析 - 問題分析和需求定義
  2. 架構設計 - 系統架構和設計決策
  3. 實現細節 - 技術實現詳解
  4. 測試與優化 - 測試方法和優化策略
  5. 經驗教訓 - 學習總結和反思

相關專案

🎯 下一步計劃

短期(本周)

  1. 完成系統測試和問題修復
  2. 實現自動修復簡單問題
  3. 優化檢查算法性能

中期(本月)

  1. 添加更多檢查類型
  2. 實現系統監控
  3. 集成到CI/CD流程

長期(本季度)

  1. 擴展到其他專案使用
  2. 實現預測分析功能
  3. 形成可重用框架

📝 更新記錄

2026-03-23

  • 系統基礎架構完成
  • 開始系統測試
  • 創建本文檔記錄

即將更新

  • 測試結果和分析
  • 問題修復和優化
  • 性能測試結果

系統狀態:✅ 基礎架構完成,🔄 測試進行中
更新時間:2026年3月23日
記錄者:小波 (頁面檢查系統開發者)