设置重试次数上限(作业)

Cloud Run 作业由一个或多个任务组成。重试次数上限设置指定在发生故障时,允许任务重启的次数,此后任务将会永久失败。默认值为 3。

此设置适用于每个任务,而不是每个作业。如果设置为 0,则任务只运行一次,在失败时不会重试。

如需指定重试次数上限,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,进入 Cloud Run 作业页面:

    转到 Cloud Run

  2. 如果要配置新作业,请点击作业标签页,然后根据需要填写初始作业设置页面。如果要配置现有作业,请点击作业,然后点击修改

  3. 点击容器、变量和 Secret、连接、安全性以展开作业属性页面。

  4. 点击常规标签页。

    映像

    • 使用一个介于 0 到 10 之间的整数指定重试次数。
  5. 点击创建更新

命令行

  1. 对于要创建的作业:

    gcloud run jobs create JOB_NAME --image IMAGE_URL --max-retries RETRY

    替换

    • JOB_NAME 替换为作业的名称。
    • IMAGE_URL 替换为对容器映像的引用,例如 us-docker.pkg.dev/cloudrun/container/job:latest
    • RETRY 替换为重试次数:指定一个介于 0 到 10 之间的整数。
  2. 对于要更新的作业:

    gcloud run jobs update JOB_NAME --max-retries RETRY

YAML

使用 gcloud run jobs describe --format export 命令下载并查看现有作业配置,该命令会生成清理后的 YAML 格式的结果。然后,修改下述字段,并使用 gcloud run jobs replace 命令上传修改后的 YAML。请务必严格按照说明修改字段。

  1. 要查看和下载配置,请运行以下命令:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. 更新 maxRetries: 特性:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - image: IMAGE
              maxRetries: RETRIES

    RETRIES 替换为重试次数:指定从 010 的整数。

    您还可以指定更多配置,例如环境变量或内存限制。

  3. 更新现有作业配置:

    gcloud run jobs replace job.yaml

Terraform

如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令

如需为 Cloud Run 作业指定重试次数上限,请使用 google_cloud_run_v2_job 资源并将以下代码段应用于 main.tf 文件:

resource "google_cloud_run_v2_job" "default" {
  name         = "cloud-run-job-retries"
  location     = "us-central1"
  launch_stage = "BETA"

  template {
    template {
      max_retries = 3

      containers {
        image = "us-docker.pkg.dev/cloudrun/container/job:latest"
      }
    }
  }
}

查看重试次数上限设置

如需查看 Cloud Run 作业的当前重试次数上限设置,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,进入 Cloud Run 作业页面:

    转到 Cloud Run 作业

  2. 点击相关作业以打开作业详情页面。

  3. 点击配置标签页。

  4. 在配置详细信息中找到重试次数上限设置。

命令行

  1. 使用以下命令:

    gcloud run jobs describe JOB_NAME
  2. 在返回的配置中找到重试次数上限设置。