Cloud Run 作业由一个或多个任务组成。重试次数上限设置指定在发生故障时,允许任务重启的次数,此后任务将会永久失败。默认值为 3。
此设置适用于每个任务,而不是每个作业。如果设置为 0,则任务只运行一次,在失败时不会重试。
所需的角色
如需获得配置 Cloud Run 作业所需的权限,请让管理员向您授予以下 IAM 角色:
-
Cloud Run 作业的 Cloud Run Developer (
roles/run.developer
) 角色 -
服务身份的 Service Account User (
roles/iam.serviceAccountUser
) 角色
如需查看与 Cloud Run 关联的 IAM 角色和权限的列表,请参阅 Cloud Run IAM 角色和 Cloud Run IAM 权限。如果您的 Cloud Run 作业与 Google Cloud API(例如 Cloud 客户端库)进行交互,请参阅服务身份配置指南。如需详细了解如何授予角色,请参阅部署权限和管理访问权限。
配置重试次数上限
如需指定重试次数上限,请执行以下操作:
控制台
在 Google Cloud 控制台中,进入 Cloud Run 作业页面:
点击部署容器,然后选择作业以填写初始作业设置页面。如果要配置现有作业,请点击作业,然后点击修改。
点击容器、变量和 Secret、连接、安全性以展开作业属性页面。
点击常规标签页。
- 使用一个介于 0 到 10 之间的整数指定重试次数。
点击创建或更新。
gcloud
对于要创建的作业:
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 之间的整数。
对于要更新的作业:
gcloud run jobs update JOB_NAME --max-retries RETRY
YAML
如果您要创建新的作业,请跳过此步骤。如果您要更新现有作业,请下载其 YAML 配置:
gcloud run jobs describe JOB_NAME --format export > job.yaml
更新
maxRetries:
特性:apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: spec: template: spec: containers: - image: IMAGE maxRetries: RETRIES
将 RETRIES 替换为重试次数:指定从
0
到10
的整数。您还可以指定更多配置,例如环境变量或内存限制。
更新现有作业配置:
gcloud run jobs replace job.yaml
Terraform
如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令。
如需为 Cloud Run 作业指定重试次数上限,请使用 google_cloud_run_v2_job
资源并将以下代码段应用于 main.tf
文件:
查看重试次数上限设置
如需查看 Cloud Run 作业的当前重试次数上限设置,请执行以下操作:
控制台
在 Google Cloud 控制台中,进入 Cloud Run 作业页面:
点击相关作业以打开作业详情页面。
点击配置标签页。
在配置详细信息中找到重试次数上限设置。
gcloud
使用以下命令:
gcloud run jobs describe JOB_NAME
在返回的配置中找到重试次数上限设置。