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

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

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

所需的角色

如需获得配置 Cloud Run 作业所需的权限,请让管理员向您授予以下 IAM 角色:

如需查看与 Cloud Run 关联的 IAM 角色和权限的列表,请参阅 Cloud Run IAM 角色Cloud Run IAM 权限。如果您的 Cloud Run 作业与 Google Cloud API(例如 Cloud 客户端库)进行交互,请参阅服务身份配置指南。如需详细了解如何授予角色,请参阅部署权限管理访问权限

配置重试次数上限

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

控制台

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

    转到 Cloud Run

  2. 点击部署容器,然后选择作业以填写初始作业设置页面。如果要配置现有作业,请点击作业,然后点击修改

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

  4. 点击常规标签页。

    图片

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

gcloud

  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

  1. 如果您要创建新的作业,请跳过此步骤。如果您要更新现有作业,请下载其 YAML 配置

    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"

  deletion_protection = false # set to "true" in production

  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. 在配置详细信息中找到重试次数上限设置。

gcloud

  1. 使用以下命令:

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