Para os serviços do Cloud Run, 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 um erro 504 será retornado. A instância do contêiner que disponibilizou a solicitação não é encerrada.
O tempo limite é definido por padrão como 5 minutos (300 segundos) e pode ser estendido para até 60 minutos (3.600 segundos).
É 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. Alguns clientes do serviço do Cloud Run também podem impor um tempo limite mais restritivo.
Funções exigidas
Para receber as permissões necessárias para configurar e implantar os serviços do Cloud Run, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Desenvolvedor do Cloud Run (
roles/run.developer
) no serviço Cloud Run -
Usuário da conta de serviço (
roles/iam.serviceAccountUser
) na conta de serviço
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 serviço do Cloud Run interage com as APIs do Google Cloud, como as 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.
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 recebem 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 Google Cloud, a linha de comando gcloud ou um arquivo YAML ao criar um novo serviço ou implantar uma nova revisão.
Console
No console do Google Cloud, acesse o Cloud Run:
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.
Se você estiver configurando um novo serviço, preencha a página inicial de configurações do serviço conforme preferir e clique em Contêineres, volumes, rede, segurança para expandir a página de configurações do serviço.
Clique na guia Contêiner.
- 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
a3600
segundos ou de 1 a60
minutos.
- 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
Clique em Criar ou Implantar.
gcloud
É 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]
Substituir
- IMAGE_URL por uma referência à imagem de contêiner. Por
exemplo,
us-docker.pkg.dev/cloudrun/container/hello:latest
. Se você usa o Artifact Registry, o repositório REPO_NAME já precisará ter sido criado. O URL tem o formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
[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
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 services describe SERVICE --format export > service.yaml
Atualize o atributo
timeoutSeconds
:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: name: REVISION spec: containers: - image: IMAGE timeoutSeconds: VALUE
Substituir
- SERVICE pelo nome do serviço do Cloud Run;
- IMAGE_URL por uma referência à imagem de contêiner. Por
exemplo,
us-docker.pkg.dev/cloudrun/container/hello:latest
. Se você usa o Artifact Registry, o repositório REPO_NAME já precisará ter sido criado. O URL tem o formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
- VALUE pelo tempo limite que você quer, em segundos.
- REVISION por um novo nome de revisão ou excluí-lo (se houver). Se você fornecer um novo nome de revisão, ele precisará atender aos seguintes critérios:
- Começa com
SERVICE-
- Contém apenas letras minúsculas, números e
-
- Não termina com um
-
- Não excede 63 caracteres
- Começa com
Crie ou atualize o serviço usando o seguinte comando:
gcloud run services replace service.yaml
Terraform
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Adicione o seguinte a um recurso google_cloud_run_v2_service
em template
na
configuração do Terraform. Substitua 300s
pelo tempo limite de solicitação desejado do serviço.
Ver configurações de tempo limite da solicitação
Para ver as configurações atuais de tempo limite da solicitação do serviço do Cloud Run, faça o seguinte:
Console
No console do Google Cloud, acesse o Cloud Run:
Clique no serviço de seu interesse para abrir a página Detalhes do serviço.
Clique na guia Revisões.
No painel de detalhes à direita, a configuração de tempo limite da solicitação está listada na guia Contêiner.
gcloud
Use o comando a seguir:
gcloud run services describe SERVICE
Localize a configuração de tempo limite da solicitação na configuração retornada.