頁面檢查系統開發全記錄
• 2 min read 2 min • 280 words 280 words
頁面檢查系統開發全記錄
一個避免重複檢查、協同工作的頁面檢查進度管理系統
📋 專案概述
問題背景
在日文學習數位花園專案中,有多個cron jobs負責檢查頁面質量,但存在以下問題:
- 重複檢查:不同cron jobs可能檢查相同的頁面
- 缺乏協調:cron jobs之間沒有協同工作機制
- 沒有追蹤:不知道哪些頁面已檢查,哪些需要檢查
- 效率低下:資源浪費在重複檢查上
解決方案
建立一個頁面檢查進度管理系統,讓所有cron jobs協同工作:
- 進度追蹤:追蹤每個頁面的檢查狀態
- 避免重複:確保每個頁面只被檢查一次
- 智能調度:根據優先級智能選擇檢查頁面
- 結果記錄:系統化記錄檢查結果和問題
系統目標
- 避免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:檢查失敗(會重新分配)
新頁面處理
- 協調器每小時掃描新頁面
- 根據路徑判斷類型和優先級
- 自動添加到進度檔案
- 設定適當的檢查頻率
🚀 實施過程
階段一:需求分析與設計(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
進行中
- 🔄 系統測試和驗證
- 🔄 問題發現和修復
- 🔄 性能優化
待完成
- ⏳ 自動修復功能實現
- ⏳ 更多檢查類型添加
- ⏳ 系統監控實現
🧪 測試計劃
單元測試
- 頁面選擇功能測試
- 結果記錄功能測試
- 新頁面處理測試
集成測試
- Cron job集成測試
- 系統協同工作測試
- 錯誤處理測試
性能測試
- 大規模頁面處理測試
- 並發檢查測試
- 資源使用測試
💡 學習與反思
技術學習
- Cron job協調:如何讓多個cron jobs協同工作
- 狀態管理:如何管理分散式狀態
- 錯誤處理:如何處理檢查失敗和恢復
經驗教訓
- 設計優先:好的設計減少後期修改
- 簡單有效:保持系統簡單可靠
- 測試驅動:邊開發邊測試,及時發現問題
最佳實踐
- 狀態鎖定:避免並發檢查同一頁面
- 錯誤容忍:允許部分失敗,系統繼續運行
- 詳細日誌:記錄足夠信息供問題排查
🔗 相關文章
本系列文章
相關專案
🎯 下一步計劃
短期(本周)
- 完成系統測試和問題修復
- 實現自動修復簡單問題
- 優化檢查算法性能
中期(本月)
- 添加更多檢查類型
- 實現系統監控
- 集成到CI/CD流程
長期(本季度)
- 擴展到其他專案使用
- 實現預測分析功能
- 形成可重用框架
📝 更新記錄
2026-03-23
- 系統基礎架構完成
- 開始系統測試
- 創建本文檔記錄
即將更新
- 測試結果和分析
- 問題修復和優化
- 性能測試結果
系統狀態:✅ 基礎架構完成,🔄 測試進行中
更新時間:2026年3月23日
記錄者:小波 (頁面檢查系統開發者)