Skip to content

排程管理

排程管理

所有帶 Cron 觸發的任務集中在一張表:運算式、下次觸發、上次觸發,以及一個開關。

排程器每分鐘跑一次,而且只在一個節點上跑——多節點部署時是當下持有排程租約的那個,所以一條 Cron 是整個叢集觸發一次,不是每個節點各觸發一次。

每一輪它會比對到期的運算式、回報本機執行器心跳、把沒消息的執行器標記為離線,並清理超過保留期限的建置。所以 * * * * * 就是每分鐘觸發;比這更細的頻率無法表達。

運算式

五個欄位——分、時、日、月、週——依系統設定 → 一般設定的時區求值,不是 UTC,也不是瀏覽器的時區。

運算式觸發時機
*/15 * * * *每 15 分鐘
30 2 * * *每日凌晨 2:30
0 18 * * 5每週五 18:00
0 0 1 * *每月 1 號 00:00

未來 24 小時把實際會觸發的時間展開列出。這是週末離開前確認運算式真的照你想的跑最快的方法。

與其他觸發方式的關係

排程只是三種觸發之一,不排斥其他兩種——一個任務可以每晚排程,同時也能手動執行或被推送觸發。暫停任務會一併停掉排程;那一列仍留在表上,開關是關的。

指定給離線執行器的排程建置仍然會被建立,它會在佇列裡等到執行器回來,不會被丟掉。

以 MIT 授權釋出。