您可以使用 Cloud Scheduler 來設定工作的排程單元,在定義的時間或以規律的間隔執行工作。這類工作單元通常稱為「Cron 工作」。常見用途包括每天透過電子郵件傳送報表、每 10 分鐘更新快取資料,或每小時更新摘要資訊。
使用 Cloud Scheduler 建立的每個 Cron 工作,都會根據指定排程傳送到目標,並在該處完成工作。目標必須是下列其中一種類型:
- HTTP/S 端點
- Pub/Sub 主題
- App Engine HTTP/S 應用程式
Cloud Scheduler 旨在提供「至少一次」傳遞;也就是說,工作在排定的執行時間內至少會執行一次。在極少數情況下,工作可能會與單一排程執行個體相關聯,並執行多次,因此請務必確保您的程式碼在重複執行時不會有任何有害的副作用。目標應為冪等。
您可以使用 Cloud Console 或 gcloud 指令列工具建立 Cron 工作。
依目標支援的區域
如果目標是 HTTP/S 端點或 Pub/Sub 主題,Cloud Scheduler 可在所有 支援 Google Cloud 的 Cloud Scheduler 地區使用。
如果目標是位於目前專案中的 App Engine 應用程式:
以 App Engine 為目標的 Cloud Scheduler 工作只能在專案的 App Engine 區域中建立。
一個 Google Cloud 專案只能包含一個 App Engine 應用程式,且應用程式建立後,即無法變更應用程式所在的地區。
App Engine 具有「地區性」,這表示執行您應用程式的基礎架構位於特定地區。如要跨多個區域分配運算資源和工作,請改為指定 HTTP/S 端點或 Pub/Sub 主題。
如果您未使用 App Engine 做為目標,就不需要部署 App Engine 應用程式,而且可以停用任何現有的 App Engine 應用程式。
工作重試政策
如果 Cloud Scheduler 工作未順利完成,且工作處理常式未收到確認,系統就會根據設定的重試政策,透過指數輪詢重試工作。
您可以設定決定重試行為的設定。詳情請參閱「重試工作」。