關於 Cloud Scheduler

您可以使用 Cloud Scheduler 來設定工作的排程單元,在定義的時間或以規律的間隔執行工作。這類工作單元通常稱為「Cron 工作」。常見用途包括每天透過電子郵件傳送報表、每 10 分鐘更新快取資料,或每小時更新摘要資訊。

Cloud Scheduler 建立的每個 Cron 工作都會根據指定排程傳送至「目標」來完成。目標必須屬於下列其中一種類型:

Cloud Scheduler 旨在提供「至少一次」傳遞;也就是說,工作在排定的執行時間至少會執行一次。在極少數情況下,工作可能會與單一排程執行個體相關聯,並執行多次,因此您的程式碼必須確保重複執行不會造成有害的連帶影響。目標應為冪等

您可以使用 Cloud 控制台gcloud 指令列工具建立 Cron 工作。

依目標支援的地區

如果目標是 HTTP/S 端點Pub/Sub 主題,Cloud Scheduler 可在所有 Cloud Scheduler 支援 Google Cloud 的地區使用。

如果目標是位於目前專案中的 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 工作未順利完成,且工作處理常式未收到確認,系統就會根據設定的重試政策,透過指數輪詢重試工作。

您可以設定決定重試行為的設定。詳情請參閱「重試工作」。

清除重複的求職者徵求職缺

Cloud Scheduler 提供標頭,有助於清除重複的工作要求,讓要求處理常式具備等冪性。您可以使用工作要求名稱和 X-CloudScheduler-ScheduleTime 標頭,以專屬方式識別工作要求。這個標頭包含原始排定的叫用時間,且在重試期間保持不變。