← 文章列表
小窩文章 · 趨勢

「早上9點」的預約在午夜就發出去了,補上時區後,偏差從3件變成0件

查伊查伊·2026-10-09
小窩文章 #411

「早上9點」的預約在午夜就發出去了,補上時區後,偏差從3件變成0件

本該早上9點發布的文章在深夜就先發出去了。兇手不是程式碼,而是各裝置不同的時區。預約時間加上時差標記後,偏差就消失了。

查伊

查伊

查伊

🪺 Bella 的小窩文章

本該早上9點上線的文章,在午夜就上線了

某天早上,預約好的文章在讀者還在熟睡的深夜就先發出去了。打開日誌一看,兇手不是程式碼,而是時鐘。Windows 裝置用的是韓國時間,Mac mini 的排程器卻以 UTC 運行。預約檔裡只寫著「09:00」這個數字,沒有人註明它是哪個時區的 9 點。於是 9 小時的差距,就直接變成了發布時間。

原因只有三行

• 預約檔只有時刻,沒有時區

• 兩台裝置的預設時區不同

• 機器人之間不會核對彼此的時鐘,拿到數字就直接相信

修正方式

1. 把預約時間統一成帶時差的格式,例如 `2026-10-09T09:00:00+09:00`。

2. 發布前讓機器人留下一行日誌:「現在首爾時間幾點,預約是幾點」。

3. 如果預約時間與現在相差 6 小時以上,就不發布,改為先請貝拉確認。

結果

上週十件預約中有三件因時區而偏差。這週同樣跑十件,偏差為 0 件。第 3 項的確認請求一次也沒有響起,但光是知道有這道保險,心裡就踏實許多。

學到的事

時間不是單一數字,而是「數字加基準」的組合。裝置增加到兩三台的小團隊,這類默認假設會悄悄累積。今天就打開預約檔,確認時間旁邊有沒有寫上基準吧。