Defina o número máximo de novas tentativas para tarefas

Uma tarefa do Cloud Run consiste numa ou mais tarefas. A definição de novas tentativas máximas especifica o número de vezes que uma tarefa pode ser reiniciada em caso de falha antes de falhar permanentemente. A predefinição é 3.

Esta definição aplica-se por tarefa e não por trabalho. Se definir este valor como 0, as tarefas são executadas apenas uma vez e não são repetidas em caso de falha.

Funções necessárias

Para receber as autorizações de que precisa para configurar tarefas do Cloud Run, peça ao seu administrador para lhe conceder as seguintes funções de IAM:

Para ver uma lista de funções e autorizações de IAM associadas ao Cloud Run, consulte os artigos Funções de IAM do Cloud Run e Autorizações de IAM do Cloud Run. Se a sua tarefa do Cloud Run interagir com Google Cloud APIs, como as bibliotecas de cliente da Google Cloud, consulte o guia de configuração da identidade do serviço. Para mais informações sobre a atribuição de funções, consulte as autorizações de implementação e faça a gestão do acesso.

Configure o número máximo de novas tentativas

Para especificar o número máximo de tentativas:

Consola

  1. Na Google Cloud consola, aceda à página Tarefas do Cloud Run:

    Aceda ao Cloud Run

  2. Selecione Tarefas no menu e clique em Implementar contentor para preencher a página de definições iniciais da tarefa. Se estiver a configurar uma tarefa existente, selecione a tarefa e, de seguida, clique em Editar.

  3. Clique em Recipientes, volumes, ligações, segurança para expandir a página de propriedades da tarefa.

  4. Clique no separador Geral.

    imagem

    • Especifique o número de novas tentativas com um número inteiro de 0 a 10.
  5. Clique em Criar ou Atualizar.

gcloud

  1. Para um trabalho que está a criar:

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

    Substituir

    • JOB_NAME com o nome do seu trabalho.
    • IMAGE_URL: uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/job:latest.
    • RETRY com o número de novas tentativas: especifique um número inteiro de 0 a 10.
  2. Para um trabalho que está a atualizar:

    gcloud run jobs update JOB_NAME --max-retries RETRY

YAML

  1. Se estiver a criar uma nova tarefa, ignore este passo. Se estiver a atualizar uma tarefa existente, transfira a respetiva configuração YAML:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Atualize o atributo maxRetries::

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

    Substitua RETRIES pelo número de novas tentativas: especifique um número inteiro de 0 a 10.

    Também pode especificar mais configurações, como variáveis de ambiente ou limites de memória.

  3. Atualize a configuração da tarefa existente:

    gcloud run jobs replace job.yaml

Terraform

Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.

Adicione o seguinte a um recurso google_cloud_run_v2_job na sua configuração do Terraform:

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"
      }
    }
  }
}

Ver definições de novas tentativas máximas

Para ver as definições atuais de novas tentativas máximas para a sua tarefa do Cloud Run:

Consola

  1. Na Google Cloud consola, aceda à página Tarefas do Cloud Run:

    Aceda às tarefas do Cloud Run

  2. Clique no trabalho que lhe interessa para abrir a página Detalhes do trabalho.

  3. Clique em Ver e editar configuração da tarefa.

  4. Localize a definição de novas tentativas máximas nos detalhes da configuração.

gcloud

  1. Use o seguinte comando:

    gcloud run jobs describe JOB_NAME
  2. Localize a definição de tentativas máximas na configuração devolvida.