Leo
|
a6ced32d45
|
collector:積壓分批+新檔優先/額度用完講人話降速/斷點續傳/同內容多格式去重
封測事故(Evan):daemon 逐檔萃取上傳、每個檔在雲端產生一次工作流執行,
690 個檔在自己的免費 CF 帳號上短時間內衝出 1,070 次寫入,撞上免費上限 1,000,
額度爆掉、只有 8 個檔成功。雲端那一半(紀錄改走資料層 API)已修好,
daemon 這一半原本完全沒有節奏——本次補齊四件事:
1. 上傳節奏(direct_pacing.go):單輪最多處理 MaxEventsPerRun 個事件
(預設 25)、每次觸發雲端前節流 700ms;一輪掃到的事件依檔案 mtime
由新到舊排序,今天寫的永遠優先,積壓慢慢消化不擋日常使用。
2. 額度用完講人話(quota.go):偵測到 Workers AI「10,000 neurons」/
「4006」等已知上游訊號後,換成三句話(今天已整理幾份/可換模型或
升級 Cloudflare/不花錢也沒關係、今天或明天早上 8:00 會自動恢復),
不出現裸露的錯誤碼;同帳號同輪與下一輪都不再繼續撞牆
(quotaState 全域冷卻,跨資料夾/跨程序重啟持續,直到台灣時間
早上 8:00 額度重置)。
3. 斷點續傳:每個事件處理完立刻寫回 manifest(不再等整輪跑完才存一次),
process 被殺掉重開只會接著做真正還沒完成的部分;removed 事件另外
用 preScanEntries 快照保護,下架失敗時不會被其他事件的存檔動作
誤標成「已完成」而永遠不再重試。
4. 同內容多格式去重(scan.go):同一批來源轉出的多種格式(如 leo 給的
資料集 27,164 檔=9,045 md+9,044 json+9,043 html,md/json 同檔名
主幹)依檔名主幹分組,只留優先序最高的一份進事件管線,其餘標記在
DuplicateFormats(不吃三倍額度)。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-07 16:58:07 +08:00 |
|