Definir novas tentativas (jobs)

Um job do Cloud Run consiste em uma ou mais tarefas. A configuração de número máximo de tentativas especifica o número de vezes que uma tarefa pode ser reiniciada em caso de falha antes de falhar permanentemente. O padrão é 3.

Essa configuração se aplica por tarefa, não por job. Se você definir esse valor como 0, as tarefas vão ser executadas apenas uma vez e não serão repetidas em caso de falha.

Funções exigidas

Para receber as permissões necessárias para configurar os jobs do Cloud Run, peça ao administrador para conceder a você os seguintes papéis do IAM:

Para uma lista de papéis e permissões do IAM associados ao Cloud Run, consulte Papéis do IAM do Cloud Run e Permissões do IAM do Cloud Run. Se o job do Cloud Run interagir com APIs do Google Cloud, como bibliotecas de cliente do Cloud, consulte o guia de configuração de identidade de serviço. Para mais informações sobre como conceder papéis, consulte permissões de implantação e gerenciar acesso.

Configurar o máximo de novas tentativas

Para especificar o número máximo de novas tentativas, faça o seguinte:

Console

  1. No console do Google Cloud, acesse a página de jobs do Cloud Run:

    Acessar o Cloud Run

  2. Clique em Implantar contêiner e selecione Job para preencher a página inicial de configurações do job. Se você estiver configurando um job, clique nele e em Editar.

  3. Clique em Contêiner, variáveis e secrets, conexões e segurança para expandir a página de propriedades do job.

  4. Clique na guia Geral.

    imagem

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

gcloud

  1. Para um job que você está criando:

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

    Substituir

    • JOB_NAME pelo nome do job;
    • IMAGE_URL por uma referência à imagem de contêiner. 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 job que você está atualizando, faça o seguinte:

    gcloud run jobs update JOB_NAME --max-retries RETRY

YAML

  1. Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:

    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 é possível definir outras configurações, como variáveis de ambiente ou limites de memória.

  3. Atualize a configuração do job que já existe:

    gcloud run jobs replace job.yaml

Terraform

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

Para especificar o máximo de novas tentativas para um job do Cloud Run, use o recurso google_cloud_run_v2_job e aplique o seguinte snippet ao arquivo 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"
      }
    }
  }
}

Conferir configurações do máximo de novas tentativas

Para ver as configurações atuais de novas tentativas máximas para seu job do Cloud Run:

Console

  1. No console do Google Cloud, acesse a página de jobs do Cloud Run:

    Acessar jobs do Cloud Run

  2. Clique no job em que você tem interesse para abrir a página Detalhes do job.

  3. Clique na guia Configuração.

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

gcloud

  1. Use este comando:

    gcloud run jobs describe JOB_NAME
  2. Localize o número máximo de configuração de tentativas na configuração retornada.