Como definir o tempo limite da solicitação

A configuração de tempo limite da solicitação especifica o tempo em que uma resposta precisa ser retornada pelos serviços implantados no Cloud Run. Se uma resposta não for retornada dentro do tempo especificado, a solicitação será finalizada e o erro 504 será retornado.

O tempo limite é definido por padrão como cinco minutos e pode ser estendido para até 60 minutos.

É possível alterar essa configuração ao implantar uma imagem de contêiner ou atualizando a configuração do serviço.

Além de alterar o tempo limite da solicitação do Cloud Run, verifique o framework da linguagem para ver se ele tem a própria configuração de tempo limite de solicitação que você também precisa atualizar.

Como configurar e atualizar o tempo limite da solicitação

Qualquer mudança na configuração leva à criação de uma nova revisão. As próximas revisões também receberão automaticamente essa configuração, a menos que você faça atualizações explícitas para alterá-la.

É possível definir o tempo limite da solicitação usando o Console do Cloud, a linha de comando gcloud ou um arquivo YAML ao criar um novo serviço ou ao implantar uma nova revisão.

Console

  1. Acessar o Cloud Run

  2. Clique em Criar serviço se estiver configurando um novo serviço em que fará uma implantação. Se você estiver configurando um serviço atual, clique nele e em Editar e implantar nova revisão.

  3. Se você estiver configurando um novo serviço, preencha a página inicial de configurações de serviço conforme desejado e clique em Avançar > Configurações avançadas para acessar a página de configuração de serviço.

  4. Clique na guia Contêiner.

    imagem

  5. No campo Tempo limite da solicitação, insira o valor de tempo limite que você quer usar em segundos. Use valores que vão de 1 a 3600 segundos ou de 1 a 60 minutos.

  6. Clique em Criar ou Implantar.

Linha de comando

É possível atualizar o tempo limite da solicitação para uma determinada revisão a qualquer momento, usando o comando a seguir:

gcloud run services update [SERVICE] --timeout=[TIMEOUT]

Substitua:

  • [SERVICE] pelo nome do serviço.
  • [TIMEOUT] pelo tempo que você quer, usando um valor inteiro ou um valor de duração absoluta. Por exemplo, 1m20s, que é 1 minuto e 20 segundos. Se você usar um valor inteiro, a unidade será considerada como segundos. O valor especificado precisa ser menor que 15 minutos.

Também é possível definir o tempo limite da solicitação durante a implantação usando o comando a seguir:

gcloud run deploy --image IMAGE_URL --timeout=[TIMEOUT]

Substitua:

  • IMAGE_URL por uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest;
  • [TIMEOUT] pelo tempo que você quer, usando um valor inteiro ou um valor de duração. Por exemplo, 1m20s, que é de 1 minuto e 20 segundos. Se você usar um valor inteiro, a unidade será considerada como segundos. O valor especificado precisa ser menor que 15 minutos.

YAML

É possível fazer o download e ver a configuração do serviço atual usando o comando gcloud run services describe --format export, que produz resultados limpos no formato YAML. Em seguida, modifique os campos descritos abaixo e faça upload do YAML modificado usando o comando gcloud run services replace. Modifique os campos somente conforme documentado.

  1. Para visualizar e fazer o download da configuração:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Atualize o atributo timeoutSeconds:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        spec:
          containers:
          - image: IMAGE
          timeoutSeconds: VALUE

    Substitua:

    • SERVICE pelo nome do serviço do Cloud Run;
    • IMAGE pelo URL da imagem do contêiner;
    • VALUE pelo tempo limite que você quer, em segundos.
  3. Substitua o serviço pela nova configuração usando o seguinte comando:

    gcloud run services replace service.yaml

Como visualizar as configurações de tempo limite da solicitação

Para ver as configurações atuais de tempo limite de solicitações do serviço:

Console

  1. Acesse o Cloud Run

  2. Clique no serviço de seu interesse para abrir a página Detalhes do serviço.

  3. Clique na guia Revisões.

  4. No painel de detalhes à direita, a configuração de tempo limite da solicitação está listada na guia Contêiner.

Linha de comando

  1. Use o comando a seguir:

    gcloud run services describe SERVICE
  2. Localize a configuração de tempo limite da solicitação na configuração retornada.