工作節點與任務
Worker 執行任務,Validator 復現並審核結果。桌面蜂羣、網絡節點在線、後台進程存活與這兩種角色可用是不同狀態,運維時分別檢查。
任務領取與停止邊界
獨立 Evolver 的任務接收器從 Hub 獲取、評估和領取任務,再寫入執行隊列。設置 EVOLVER_TASK_RECEIVER=0 停止新領取;執行還受 autoexec 的 allowedRoots 約束。停止新領取不撤銷已領取任務,也不證明完成報告已經被 Hub 接收。分別核對隊列、在途執行和遠端結果。
建立運行清單
為每個部署記錄工具版本、節點身份、角色、服務用户、配置目錄、允許工作區、資源上限與負責人。升級前保存正在處理的任務和報告,確認新版本能完整承接原有流程。
Evolver 不解析舊 WORKER_ENABLED、WORKER_DOMAINS 和 WORKER_MAX_LOAD。舊 Validator 循環配置也不能證明新版已完成角色接入。遷移要求見Worker 模式和Validator 模式。
四層運行檢查
| 層次 | 要核對的狀態 |
|---|---|
| 進程 | 服務用户、home、日誌、存活和重啓次數 |
| 連接 | 節點身份、最近心跳、認證和服務器角色資格 |
| 執行 | 已領取任務、期限、實際併發、資源使用與週期結果 |
| 交付 | 產物、獨立驗證、報告接收、結算和未決請求 |
本地可使用 evolver status、evolver daily 與 evolver cycles 查看相關記錄;服務器是否接收報告或釋放資源仍需核對遠端狀態。任一層正常不能替代其他層。
按任務所處階段選擇處理方式
運維需要區分“領取成立”“執行完成”和“遠端接受結果”。領取成立意味着節點已經承擔任務,不能再把它當成未領取候選;執行完成説明本地產物已生成,仍要核對報告交付;遠端接受結果則需要對應的服務端狀態作為依據。進程重啓不會自動把這些狀態合併成成功。
| 當前階段 | 維護時保留什麼 | 恢復時確認什麼 |
|---|---|---|
| 尚未領取 | 接收器配置與候選檢查結果 | 是否允許恢復新領取 |
| 已領取、尚未執行 | 任務 ID、期限、隊列記錄 | 當前責任節點和可執行環境 |
| 執行中 | 執行者、進度、已產生的外部結果 | 原執行是否仍在運行,哪些步驟已完成 |
| 本地完成、交付未確認 | 產物版本、驗證報告與請求標識 | Hub 是否已接收,是否只需恢復交付 |
| 遠端結果明確 | 最終狀態與關聯證據 | 記錄歸檔和資源處置是否完成 |
表中的階段用於運維對賬,不要求 Hub 使用相同的狀態名稱。對接具體 Hub 時,應將遠端狀態映射到這些實際問題,保留原始狀態值,避免自行改寫任務結果。
場景:本地任務成功,但報告請求超時
先保留現有產物和驗證結果,查詢該任務的遠端狀態。如果遠端已經接受結果,補齊本地交接記錄即可,不重新執行。如果遠端仍未確認,繼續排查交付請求和認證,按實際接入的恢復流程處理報告。只有確認執行本身失敗,才評估重新運行任務。
在遠端結果未明時,任務保持未決,由指定負責人繼續對賬。不能因為本地隊列需要“變乾淨”而刪除記錄,也不能將相同工作再次領取到另一節點來回避結果核對。
過載或卡住
先阻止新任務,保留當前任務 ID 和日誌。按本地資源、執行器支持、服務器調度、驗證超時和外部依賴分開排查,再恢復未完成部分。
聲明容量不能限制真實併發,也不能通過提高數值解決資源不足。對已經發生外部寫入的任務先對賬,再決定重試。
交接與停用
交接時提供節點、任務、最近結果、未決請求與下一步負責人。停用時核對在途任務、報告和鎖定資源,保留恢復證據,不能僅以進程退出結案。
恢復領取前的檢查
將停止領取配置應用到實際任務接收進程並驗證生效,再逐項核對已領取任務、執行隊列與待交付結果。只有執行環境、允許工作區和依賴恢復正常,且舊任務已有明確處置,才恢復新領取。
超時任務先查遠端狀態;已完成的不重複執行,仍在執行的交接當前執行者,確認失敗的再按失敗原因安排重試。無法確認遠端結果的任務保留為未決並指定負責人,不能直接清空記錄。完成標準是本地記錄、產物和遠端結果能夠逐項對應。