配置 Cron 作业时间表

本页面简要说明了如何使用 unix-cron 格式描述 cron 作业时间表。您还可以使用旧版 App Engine cron 语法来描述时间表。

定义作业时间表

Cron 作业按周期性间隔进行安排,使用 unix-cron 格式指定。您可以定义时间表,以便让您的作业每天运行多次,或在特定的日期和月份运行。

时间表使用 unix-cron 字符串格式 (* * * * *) 进行描述,该格式是一行中五个值的集合,指示应何时执行作业。

图片

您可以使用 Google Cloud Console、gcloud 命令行或 Cloud Scheduler REST API 来设置时间表。

时间字段具有下表中显示的格式和可能值:

字段 有效值的范围
分钟 0-59
小时 0-23
日期 1-31
1-12
周几 0-6(星期日至星期六)

在创建作业时,您可以使用 Cloud Console 创建作业屏幕上的下拉菜单或 gcloud --time-zone 标志,选择用于评估时间表的时区。默认时区为 Etc/UTC

示例时间表

下表显示了一些示例 cron 时间表及其说明:

示例时间表 Cloud Scheduler 格式
每分钟 * * * * *
每个星期六的 23:45 (11:45 PM) 45 23 * * 6
每周一 9 点 0 9 * * 1

夏令时

在某些时区,夏时制可能会导致作业超出您的预期节奏。这是因为 Cloud Scheduler 按挂钟时间运行。如果某一时间可能出现两次(例如时钟回拨的情况),而您的作业安排在此时间,则预定作业的执行可能会有异常。

如果您的作业需要非常特定的节奏,则可能需要考虑选择不采用夏令时的时区。具体来说,建议 Cloud Scheduler 使用 UTC,以完全避免该问题。