resource"google_cloud_run_v2_job""default"{name="cloud-run-job-timeout"location="us-central1"deletion_protection=false # set to "true" in productiontemplate{template{timeout="3.500s"containers{image="us-docker.pkg.dev/cloudrun/container/job:latest"}}}}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-08-25。"],[],[],null,["# Set task timeout for jobs\n\nBy default, each task runs for a maximum of 10 minutes:\nyou can change this to a shorter time or a longer time up to\n168 hours (7 days). Support for timeouts greater than\n24 hours is available in [Preview](/products#product-launch-stages).\n\nYou set task timeout as described in this page. There is no explicit timeout\non a job execution: when all tasks are done, the job execution is done.\n\nThe units specify a duration. You can specify the timeout duration as an integer\nvalue in seconds, minutes, or hours. For example, to set the timeout duration as\n10 minutes and 5 seconds, specify the value as `605` seconds.\n\nIf your job has retries enabled, the timeout setting applies to each attempt of a task.\nIf the task attempt does not complete within this time, it will be\nstopped. The longer a job runs, the more likely it is to run into issues that\ncause it to fail, such as downstream dependency failures, out of memory errors,\nor infrastructure issues. We recommend enabling retries for all jobs, but\nespecially for jobs with long-running tasks.\n\n### Maintenance events\n\nJobs periodically undergo maintenance events. During a maintenance event, any\nin-progress tasks are migrated from the current machine to a different machine.\nThere is a brief pause in processing while the task is migrated.\n\nThe migration process preserves the state of the task, with one notable\nexception: outbound VPC network connections break during maintenance events.\nWe recommend that you use client libraries that can handle occasional connection\nresets.\n\nCloud Run prints out a log message every time a task starts and\nfinishes migrating.\n\nAdditionally, if you want to monitor or handle maintenance events in a specific way,\nyou can catch the `SIGTSTP` signal, which is sent 10 seconds before a task is\nmigrated. After migration, the task receives a `SIGCONT` signal immediately\nafter the task is restarted.\n\nThe following Go sample is a function that catches these signals and prints out\na log entry: \n\n```go\nfunc testSignals() {\n sigs := make(chan os.Signal, 1)\n signal.Notify(sigs, syscall.SIGTSTP, syscall.SIGCONT)\n go func() {\n for {\n sig := \u003c-sigs\n log.Printf(\"Got Signal: %v\", sig)\n }\n }()\n }\n \n```\n\nRequired roles\n--------------\n\n\nTo get the permissions that\nyou need to configure Cloud Run jobs,\n\nask your administrator to grant you the\nfollowing IAM roles:\n\n- [Cloud Run Developer](/iam/docs/roles-permissions/run#run.developer) (`roles/run.developer`) on the Cloud Run job\n- [Service Account User](/iam/docs/roles-permissions/iam#iam.serviceAccountUser) (`roles/iam.serviceAccountUser`) on the service identity\n\n\nFor a list of IAM roles and permissions that are associated with\nCloud Run, see\n[Cloud Run IAM roles](/run/docs/reference/iam/roles)\nand [Cloud Run IAM permissions](/run/docs/reference/iam/permissions).\nIf your Cloud Run job interfaces with\nGoogle Cloud APIs, such as Cloud Client Libraries, see the\n[service identity configuration guide](/run/docs/configuring/jobs/service-identity).\nFor more information about granting roles, see\n[deployment permissions](/run/docs/reference/iam/roles#additional-configuration)\nand [manage access](/iam/docs/granting-changing-revoking-access).\n\nSet task timeout\n----------------\n\nTo specify task timeout for a Cloud Run job: \n\n### Console\n\n\n1. In the Google Cloud console, go to the Cloud Run jobs page:\n\n [Go to Cloud Run](https://console.cloud.google.com/run)\n2. Select **Jobs** from the menu, and click **Deploy container** to fill out\n the initial job settings page. If you are configuring an existing job,\n select the job, then click **Edit**.\n\n3. Click **Container(s), Volumes, Connections, Security** to expand the job properties page.\n\n4. Click the **General** tab.\n\n - In the **Task timeout** field, specify the maximum duration for the job tasks in the current job, and select a **Time unit** . You can only specify the timeout duration as an integer value in **second** , **minute** , or **hour** . For example, to set a duration of 10 minutes and 5 seconds, in the **Task timeout** field, specify `605`, and select the **Time unit** as **second**.\n5. Click **Create** or **Update**.\n\n### gcloud\n\n1. For a job you are creating:\n\n ```bash\n gcloud run jobs create JOB_NAME --image IMAGE_URL --task-timeout TIMEOUT\n ```\n\n Replace\n - \u003cvar translate=\"no\"\u003eJOB_NAME\u003c/var\u003e with the name of your job.\n - \u003cvar translate=\"no\"\u003eIMAGE_URL\u003c/var\u003e: a reference to the [container image](/run/docs/building/containers)---for example, `us-docker.pkg.dev/cloudrun/container/job:latest`.\n - \u003cvar translate=\"no\"\u003eTIMEOUT\u003c/var\u003e with the maximum duration for the job tasks, specifying the amount of time and the units: for example, `10m5s` is ten minutes and five seconds.\n2. For a job you are updating:\n\n ```bash\n gcloud run jobs update JOB_NAME --task-timeout TIMEOUT\n ```\n\n### YAML\n\n1. If you are creating a new job, skip this step.\n If you are updating an existing job, download its [YAML configuration](/run/docs/reference/yaml/v1#job):\n\n ```bash\n gcloud run jobs describe JOB_NAME --format export \u003e job.yaml\n ```\n2. Update the `timeoutSeconds:` attribute:\n\n ```yaml\n apiVersion: run.googleapis.com/v1\n kind: Job\n metadata:\n name: JOB\n spec:\n template:\n spec:\n template:\n spec:\n containers:\n - image: IMAGE\n timeoutSeconds: TIMEOUT\n ```\n\n Replace:\n - \u003cvar translate=\"no\"\u003eJOB_NAME\u003c/var\u003e with the name of your job.\n - \u003cvar translate=\"no\"\u003eIMAGE_URL\u003c/var\u003e: a reference to the [container image](/run/docs/building/containers)---for example, `us-docker.pkg.dev/cloudrun/container/job:latest`.\n - \u003cvar translate=\"no\"\u003eTIMEOUT\u003c/var\u003e with the maximum duration for the job tasks, specifying the amount of time and the units. You can only specify time as an integer value in seconds, minutes, or hours. For example, to set a duration of 10 minutes and 5 seconds, specify `605`.\n\n You can also specify more configuration details, such as environment variables or\n memory limits.\n3. Update the existing job configuration:\n\n ```bash\n gcloud run jobs replace job.yaml\n ```\n\n### Terraform\n\n\u003cbr /\u003e\n\nTo learn how to apply or remove a Terraform configuration, see\n[Basic Terraform commands](/docs/terraform/basic-commands).\nAdd the following to a [`google_cloud_run_v2_job`](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/cloud_run_v2_job) resource in your Terraform configuration: \n\n\u003cbr /\u003e\n\n resource \"google_cloud_run_v2_job\" \"default\" {\n name = \"cloud-run-job-timeout\"\n location = \"us-central1\"\n\n deletion_protection = false # set to \"true\" in production\n\n template {\n template {\n timeout = \"3.500s\"\n\n containers {\n image = \"us-docker.pkg.dev/cloudrun/container/job:latest\"\n }\n }\n }\n }\n\nView task timeout settings\n--------------------------\n\nTo view the current task timeout settings for your\nCloud Run job: \n\n### Console\n\n1. In the Google Cloud console, go to the Cloud Run jobs page:\n\n [Go to Cloud Run jobs](https://console.cloud.google.com/run/jobs)\n2. Click the job you are interested in to open the **Job details** page.\n\n3. Click **View and Edit job configuration**.\n\n4. Locate the task timeout setting in the configuration\n details.\n\n### gcloud\n\n1. Use the following command:\n\n ```bash\n gcloud run jobs describe JOB_NAME\n ```\n2. Locate the task timeout setting in the returned\n configuration."]]