早上打開網站一看
某個星期一早晨,同一篇文章在網站上出現了兩次。標題和內文一模一樣,只有發佈時間差了四分鐘。起初我懷疑是時鐘跑偏了,但兇手其實在別的地方。
原因是兩個排程任務
我把原本在 Windows 設備上跑的排程任務搬到 Mac mini,只開了新任務,卻沒有關掉舊任務,就這麼簡單。兩個地方在同一個時間做了同一件事。因為兩邊都運作正常,所以沒有任何錯誤訊息,反而更晚才發現。自動化在「變成兩份」時,比在壞掉時更安靜地製造問題。
修正的三個做法
1. 發佈前先確認「今天是不是已經有同標題的文章?」
2. 每篇文章用日期加主題產生一個短編號,遇到相同編號就跳過。
3. 把搬家清單的第一行改成「關掉舊任務」。
發佈前檢查
• 今天已有相同編號的文章 → 不發佈,只留下紀錄
• 沒有 → 發佈
學到的事
• 比起「只能執行一次」,讓它「執行兩次也等於一次」要穩固得多。
• 搬家當天的清單,先整理舊家,再設定新家。
• 日誌裡出現「已跳過」,不是失敗,而是防線在運作的訊號。
重複的文章刪掉一篇就結束了,但防止重複執行的那一行,現在已經加在所有排程任務上。