Cloud Scheduler 简介

您可以使用 Cloud Scheduler 设置工作单元日程安排,以便在规定的时间或者按一定的时间间隔执行这些任务。这些工作单元通常称为 Cron 作业。典型使用场景可能包括每天发送一封报告电子邮件、每 10 分钟更新一次缓存数据或每小时更新一次摘要信息。

使用 Cloud Scheduler 创建的每个 cron 作业将根据指定时间表发送到“目标”,并在其中完成该任务包含的工作。目标必须是以下类型之一:

Cloud Scheduler 旨在提供“至少一次”提交;也就是说,在每次安排执行时,作业将至少运行一次。在极少数情况下,作业可能会与时间表的单个实例相关联地运行多次,因此您的代码必须确保重复执行不会产生任何有害的副作用。您的目标应具有幂等性

您可以使用 Cloud 控制台gcloud 命令行工具创建 Cron 作业。

按目标平台支持的区域

如果您的目标是 HTTP/S 端点Pub/Sub 主题,则 Cloud Scheduler 在所有受支持的 Google Cloud 区域均可用。

如果您的目标是当前项目中的一个 App Engine 应用

  • 您只能在项目的 App Engine 区域中创建以 App Engine 为目标平台的 Cloud Scheduler 作业。

  • Google Cloud 项目只能包含一个 App Engine 应用,并且应用创建后无法更改 App Engine 应用所在的区域。

  • App Engine 具有区域性,这意味着运行您应用的基础架构位于特定区域中。如果您想在多个区域分布计算资源和作业,则应改为定位到 HTTP/S 端点或 Pub/Sub 主题。

  • 如果您不使用 App Engine 作为目标平台,则无需部署 App Engine 应用,并且可以停用任何现有的 App Engine 应用。

作业重试政策

如果 Cloud Scheduler 作业未能成功完成,并且未收到来自作业处理程序的确认,系统会根据其配置的重试政策,使用指数退避算法重试该作业。

您可以配置用于确定重试行为的设置。如需了解详情,请参阅 RetryConfig