安排并运行 Cron 作业

本快速入门介绍如何使用 Cloud Scheduler 执行一些基本操作。

在本快速入门中,您将执行以下操作:

  1. 使用 Cloud Scheduler 创建一个 Cron 作业。
  2. 为作业设置周期性计划。
  3. 将 Pub/Sub 主题指定为作业目标。
  4. 运行作业。
  5. 验证作业是否已成功运行。

Cloud Scheduler 提供免费层级,运行此快速入门不会产生任何费用。如需了解详情,请参阅价格


如需在 Google Cloud 控制台中直接遵循有关此任务的分步指导,请点击操作演示

操作演示


准备工作

  1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  3. 确保您的 Google Cloud 项目已启用结算功能

  4. 安装 Google Cloud CLI。
  5. 如需初始化 gcloud CLI,请运行以下命令:

    gcloud init
  6. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  7. 确保您的 Google Cloud 项目已启用结算功能

  8. 安装 Google Cloud CLI。
  9. 如需初始化 gcloud CLI,请运行以下命令:

    gcloud init
  10. 如果您未使用 Cloud Shell,请更新 Google Cloud CLI 组件:
    gcloud components update
  11. 使用您的账号登录:
    gcloud auth login
  12. 启用 Cloud Scheduler 和 Pub/Sub API:

    gcloud services enable cloudscheduler.googleapis.com pubsub.googleapis.com

创建 Pub/Sub 主题和订阅

Pub/Sub 主题是发布者可以向其发送消息的资源。如需接收发布到主题的消息,您必须创建对该主题的订阅。

  1. 设置 Pub/Sub 主题以用作 cron 作业的目标:

    gcloud pubsub topics create cron-topic
    

    这将创建一个名为 cron-topic 的主题。

  2. 如需查看作业的结果,请创建 Pub/Sub 订阅:

    gcloud pubsub subscriptions create cron-sub --topic cron-topic
    

使用 Cloud Scheduler 创建 Cron 作业

设置一个称为 Cron 作业的计划工作单元,并将其定期发送到目标。

  1. 在 Google Cloud 控制台中,转到 Cloud Scheduler 页面。

    转到 Cloud Scheduler

  2. 点击创建作业

  3. 为作业指定名称。

  4. 区域列表中,为您的作业选择一个区域。

  5. 使用基于 unix-cron 的格式为您的作业指定频率。例如:

    30 16 * * 7
    

    如需了解详情,请参阅配置 Cron 作业时间表

  6. 时区列表中,选择一个时区。

    对于某些时区,夏令时可能会导致作业运行或无法意外运行。如需了解详情,请参阅时区

  7. 点击继续

  8. 目标类型列表中,选择 Pub/Sub

  9. 选择您之前创建的主题:cron-topic

  10. 消息正文字段中,输入要发送到 Pub/Sub 目标主题的字符串。例如:“Hello world!”

  11. 点击创建

您创建了一个在星期日 16:30 向 Pub/Sub 主题发送消息的作业。您现在可以运行该作业了。

运行作业

除了根据指定时间表执行外,您还可以强制立即运行作业。

  1. 在 Google Cloud 控制台中,转到 Cloud Scheduler 页面。

    转到 Cloud Scheduler

    系统应该会列出您的作业。

  2. 在您的作业所在的行中,点击 操作 > 强制运行作业

    请注意,由于需要进行一些初始配置,因此在项目中创建的第一项作业可能需要几分钟时间才能运行完毕。

  3. 上次执行状态列中,Success 状态表示您已成功运行 Cron 作业。

接下来,您可以验证 Pub/Sub 是否收到了消息。

验证 Pub/Sub 中的结果

验证您的 Pub/Sub 主题是否正在接收来自作业的消息。

  1. 从订阅中拉取 Pub/Sub 消息:

    gcloud pubsub subscriptions pull cron-sub --limit 5
    

    如果一开始没有拉取到消息,请再次运行该命令。

  2. 查看运行作业的结果。输出应类似如下所示:

    DATA: Hello world!
    MESSAGE_ID: 5028933846601543
    ORDERING_KEY:
    ATTRIBUTES:
    DELIVERY_ATTEMPT:
    ACK_ID: RFAGFixdRkhRNxkIaFEOT14jPzUgKEUQAgVPAihdeTFXLkFacGhRDRlyfWB9[...]
    

清理

为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。

  1. 删除您创建的 Cron 作业:

    1. 在 Google Cloud 控制台中,转到 Cloud Scheduler 页面。

      转到 Cloud Scheduler

    2. 选中您的作业所对应的复选框。

    3. 点击删除并确认删除。

  2. 删除 Pub/Sub 主题:

    1. 在 Google Cloud 控制台中,转到 Pub/Sub 页面。

      前往 Pub/Sub

    2. 选中您的主题所对应的复选框。

    3. 点击删除并确认删除。

  3. 删除项目:

    1. 在 Google Cloud 控制台中,进入管理资源页面。

      转到“管理资源”

    2. 在项目列表中,选择要删除的项目,然后点击删除
    3. 在对话框中输入项目 ID,然后点击关闭以删除项目。

后续步骤