倉儲監控
這是什麼
一個循環工作流程,監控儲存庫變更並回報有意義的差異。
白話解釋
想像一個文字編輯每天早上通讀同一份手稿,但只標記與昨天草稿實際不同的段落——其餘的則快速瀏覽,不動紅筆。Repo Monitor 對軟體專案的作用相同:按照排程,它檢查專案活動(新議題、合併請求、發布或提交)與上次看到的內容進行比對,並且只在確實有新內容要說時才會發聲。
為什麼重要
一個真正的功能上線、一個破壞性變更——倉儲監控是一個循環任務,監控儲存庫變更並專門回報有意義的變更,而不是不加區分地回報每次提交,這正是它不會變成沒人看的噪音的原因。它與無模型任務和更廣泛的監控很好地搭配,讓一個廉價的檢查在模型呼叫被花費來總結實際發生的內容之前,先排除「什麼都沒發生」的可能性。手動觸發通常也被整合進來,因此監控可以在已知變更後立即按需重新執行,而不是等待下一次排程。
運作方式
在機制上,倉儲監控將一個 cron 任務(tools/cronjob_tools.py)與一個小型輪詢腳本配對。Hermes 附帶了一個現成的 watch_github.py,它存取 GitHub 的 issues、pulls、releases 或 commits 端點來檢查倉儲,將結果與先前看到的 ID 的已儲存水位線檔案(最多 500 條)進行比較,並僅針對未見過的內容輸出格式化摘要——空白輸出意味著保持沉默。cron 任務按照排程(例如每 15 分鐘)在沒有過去記憶的新工作階段中執行該腳本,因此指令必須是自包含的。第一次執行總是記錄基準線,而不是重放整個倉儲歷史。