目標:創建一個一致的cron表達式,在PDT的每個星期日的午夜時分觸發。而無需每年更換兩次表達。是否可以創建一個基於PDT而不指定時區的cron時間表?比如說,時區與UTC相關聯
限制:無法指定時區。所有表達式都基於UTC
背景:AWS CloudWatch事件支持cron表達式,但它默認爲UTC。
我相信很容易在UTC
到
0 8 * ? SUN *
但是,如果我需要它什麼是PDT
?
目標:創建一個一致的cron表達式,在PDT的每個星期日的午夜時分觸發。而無需每年更換兩次表達。是否可以創建一個基於PDT而不指定時區的cron時間表?比如說,時區與UTC相關聯
限制:無法指定時區。所有表達式都基於UTC
背景:AWS CloudWatch事件支持cron表達式,但它默認爲UTC。
我相信很容易在UTC
到
0 8 * ? SUN *
但是,如果我需要它什麼是PDT
?
否。用於Cloudwatch事件的cron
只能在UTC
中安排。 AWS不支持其他TZ。沒有辦法來覆蓋它。在Linux中,cron
使用本地機器的TZ。由於AWS是全球性服務,因此UTC是Cloudwatch cron
規則的理想選擇和默認TZ。
Schedule Expressions for Rules
您可以創建在CloudWatch的事件在自動安排的自觸發器使用cron或速度表達式規則。 所有預定事件都使用UTC時區,時間表的最低精度爲1分鐘。
根據工作的性質,這裏有一個潛在的黑客:
0 7,8 * ? SUN *
這隻能如果觸發的工作是什麼,有足夠的內部邏輯功能,它可以自行決定它是否應該繼續執行。
作業開始時,必須從系統時間America/Los_Angeles
轉換後檢查當前時間的內部方法(或whatever它可能在被稱爲任何時區庫可在運行時),以確定是否當前在那個時區的時間已經接近午夜了 - 在這種情況下,它應該照常進行 - 或者如果當前時間接近午夜的+/- 1小時,在這種情況下,它應該靜靜地終止而不做任何事情工作。這項工作在指定的每一天產生兩次,但兩個調用中的一個很快完成,所以使用的資源很少。