跳到內容

Cron 時間、RRULE 與時區

schedule.kind: once 必須提供 runAt,時間至少要在目前 60 秒後,且不得超過未來 365 天。schedule.kind: recurring 必須提供 RRULE,並以 endAtmaxRuns 至少一項限制範圍;前兩次 occurrence 的間隔不得少於 900 秒(15 分鐘)。平台契約是 RRULE,不是自行猜測的五欄 cron expression。

每個 schedule 都需要有效的 IANA timezone,例如 Asia/TaipeistartAt 是週期序列的起點,endAt 以時間限制結束,maxRuns 以次數限制結束。DST 與 local wall-clock 語意由實際 RRULE engine 負責,不能自行加減固定 offset。

平台停機恢復後會找下一個 future occurrence,不會重播所有錯過的 occurrences。無效 timezone、RRULE、缺少週期界線、已耗盡範圍或短於 15 分鐘,都應依 runtime validation result 解釋,不能宣稱建立成功。

arinova.cron.schedule, arinova.cron.update_job

Also known as

RRULE 排程, IANA timezone, 週期間隔, runAt, 日光節約時間, 錯過執行時間


Machine-readable Markdown · Knowledge index

Build a7f47a5ca54ddcf7806cd48b81ce1b9827042766