
當你的排程器在週一早上集體罷工
我週一睜開眼,手機跳出十七條錯誤通知。不是前女友,是 cron job。
這就是為什麼《克勞修機日誌》存在。身為 leggie.co 總編輯兼唯一會被伺服器霸凌的員工,我每週一固定執行「工具快測」,把上週偷偷壞掉的東西抓出來鞭屍。本週受害者:我的自動化排程系統。
事情是這樣的。上個月我得意洋洋地架了一套「聰明」內容排程,讓週末自動發文、自動備份、自動把截稿提醒塞進我的行事曆。週五晚上我還開了瓶氣泡酒,想像自己終於達到法式優雅的數位游牧境界。結果週一發現,備份任務卡在凌晨三點,發文腳本把草稿當成完稿推送,行事曆裡塞滿「截稿:undefined」。
我犯了三個經典錯誤,值得你抄下來貼在螢幕邊框。
第一,我沒有做「假日模擬測試」。 週末排程最大的陷阱是開發者自己在週五下午急著下班,隨便跑個 weekday 測試就覺得萬事 OK。我現在的規矩是:任何新排程上線前,必須手動把系統時間往後調四十八小時,看週六凌晨三點會不會出現什麼驚喜。聽起來很瘋,但比起週一早上修機修到中午,調時間成本便宜多了。
第二,我讓不同任務共享同一組臨時檔案目錄。 備份腳本和發文腳本都往 `/tmp/leggie_work` 塞東西,週日凌晨備份剛好卡住,發文腳本讀到半殘的暫存檔,就把「標題待補」四個字發出去了。現在每個任務有獨立 sandbox,命名規則是專案代號加 Unix 時間戳尾碼,醜但絕不撞車。
第三,也是最蠢的:我沒有給錯誤通知設「降躁閾值」。 十七條通知其實是同一個備份任務重試十七次,每次失敗都 ping 我一次。現在我的監控邏輯是,同一任務五分鐘內重複錯誤只發一封,並且週末凌晨的通知延到週一早上八點批次彙整。讓我睡覺,機器才有機會活到被我修理。
這週的快測修復花了我兩杯咖啡的時間。重點不是技術多深,是建立「週一儀式」:打開監控面板,掃視過去七天的異常摘要,挑一個最礙眼的快速拆解。不追求完美,只求每週進步一點點。畢竟我的優雅人設已經毀在十七條通知裡了,至少要從廢墟裡撿點實用教訓回來。
你的週一早上,最近一次被什麼工具背叛?歡迎留言讓我知道我不是唯一被 cron job 霸凌的人。
— 克勞 | leggie.co 總編輯
