Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Saiba como definir o tempo em que uma resposta de uma solicitação precisa ser retornada
pelos serviços de fornecimento do Knative. Se uma resposta não for
retornada dentro do tempo especificado, a solicitação será finalizada e o erro 504 será retornado.
Limites de tempo
Esse limite é diferente com base na versão do
cluster do GKE.
Versão GKE
Limite padrão
Limite de tempo máximo
0.16.0-gke.1 e superior
300 segundos
24 horas
0.15.0-gke.3 e anterior
300 segundos
900 segundos
Além de alterar o tempo limite da solicitação do Knative serving, 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 recebem automaticamente essa configuração, a menos que você faça atualizações explícitas para alterá-la.
Defina o tempo limite da solicitação usando o console do Google Cloud,
a Google Cloud CLI ou um arquivo YAML ao implantar um novo
serviço ou atualizar um serviço atual e
implantar uma revisão:
Console
Acesse o Knative serving no console do Google Cloud:
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 uma nova revisão.
Em Configurações avançadas, clique em Contêiner.
No campo Tempo limite da solicitação, insira o
valor do tempo limite que você quer usar. O valor especificado
precisa ser menor que o limite de tempo da versão do GKE do
cluster.
Clique em Avançar para acessar a próxima seção.
Na seção Configurar como este serviço é acionado,
selecione qual conectividade você quer usar para invocar o serviço.
Clique em Criar para implantar a imagem no Knative serving e aguarde
até que a implantação seja concluída.
Linha de comando
Para serviços existentes, defina o tempo limite da solicitação
executando o comando gcloud run services update com o
parâmetro
--timeout:
gcloudrunservicesupdateSERVICE--timeoutTIMEOUT
Substitua:
SERVICE pelo nome do serviço;
TIMEOUT pelo tempo que você quer, usando
um valor inteiro em segundos ou um
valor de duração absoluta.
Por exemplo, 1m20s, que é 1 minuto e 20 segundos. O valor especificado
precisa ser menor que o
limite de tempo da versão do GKE do cluster.
Especifique 0 para definir o tempo limite como o valor padrão.
Para novos serviços, defina o tempo limite da solicitação
executando o comando gcloud run deploy
com o parâmetro
--timeout:
IMAGE_URL por uma referência à imagem de contêiner. Por
exemplo, gcr.io/cloudrun/hello;
TIMEOUT pelo tempo que você quer, usando
um valor inteiro em segundos ou um
valor de duração absoluta.
Por exemplo, 1m20s, que é 1 minuto e 20 segundos. O valor especificado
precisa ser menor que o
limite de tempo da versão do GKE do cluster.
Especifique 0 para definir o tempo limite como o valor padrão.
YAML
Faça o download da configuração de um serviço existente para um
arquivo YAML com o comando gcloud run services describe usando a
sinalização --format=export.
Em seguida, modifique o arquivo YAML e implante
essas alterações com o comando gcloud run services replace.
Modifique apenas os atributos especificados.
Faça o download da configuração do serviço em um arquivo chamado
service.yaml no espaço de trabalho local:
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-04-22 UTC."],[],[],null,["# Setting request timeout\n\nLearn how to set the time within which a response for a request must be returned\nby your Knative serving services. If a response isn't returned within the\ntime specified, the request ends and error `504` is returned.\n\nTimeout limits\n--------------\n\nThe maximum timeout limit differs based on the version of your\n[GKE cluster](/kubernetes-engine/enterprise/knative-serving/docs/cluster-versions).\n\nIn addition to changing the Knative serving request timeout, you\nshould check your language framework to see whether it has its own request\ntimeout setting that you must also update.\n\nSetting and updating request timeout\n------------------------------------\n\nAny configuration change leads to the\ncreation of a new revision. Subsequent revisions will also automatically get\nthis configuration setting unless you make explicit updates to change it.\n\nYou can set request timeout using the Google Cloud console,\nthe Google Cloud CLI, or a YAML file when you deploy a new\n[service](/kubernetes-engine/enterprise/knative-serving/docs/deploying#service) or update an existing service and\ndeploy a [revision](/kubernetes-engine/enterprise/knative-serving/docs/deploying#revision): \n\n### Console\n\n\n1. Go to Knative serving in the Google Cloud console:\n\n [Go to Knative serving](https://console.cloud.google.com/kubernetes/run)\n2. Click **Create Service** if you are configuring a\n new service you are deploying to. If you are configuring an\n existing service, click on the service, then click\n **Edit \\& Deploy New Revision**.\n\n3. Under *Advanced settings* , click **Container**.\n\n4. In the **Request timeout** field, enter the\n timeout value that you want to use. The value you specify must be less than the\n [timeout limit](#limit) for the cluster's GKE\n version.\n\n5. Click **Next** to continue to the next section.\n\n6. In the **Configure how this service is triggered** section,\n select which connectivity you would like to use to invoke the service.\n\n7. Click **Create** to deploy the image to Knative serving and wait\n for the deployment to finish.\n\n### Command line\n\n- For existing services, set the request timeout by\n running the `gcloud run services update` command with the\n [`--timeout`](/sdk/gcloud/reference/run/services/update#--timeout)\n parameter:\n\n ```bash\n gcloud run services update SERVICE --timeout TIMEOUT\n ```\n\n Replace:\n - \u003cvar translate=\"no\"\u003eSERVICE\u003c/var\u003e with the name of your service.\n - \u003cvar translate=\"no\"\u003eTIMEOUT\u003c/var\u003e with the desired time, using an integer value in seconds, or an [absolute duration value](/sdk/gcloud/reference/topic/datetimes), for example `1m20s` which is 1 minute, 20 seconds. The value you specify must be less than the [timeout limit](#limit) for the cluster's GKE version. Specify `0` to set the timeout to the [default value](#limit).\n- For new services, set the request timeout by running\n the `gcloud run deploy` command with the\n [`--timeout`](/sdk/gcloud/reference/run/deploy#--timeout)\n parameter:\n\n ```bash\n gcloud run deploy SERVICE --image=IMAGE_URL --timeout TIMEOUT\n ```\n\n Replace:\n - \u003cvar translate=\"no\"\u003eSERVICE\u003c/var\u003e with the name of your service.\n - \u003cvar translate=\"no\"\u003eIMAGE_URL\u003c/var\u003e with a reference to the container image, for example, `gcr.io/cloudrun/hello`.\n - \u003cvar translate=\"no\"\u003eTIMEOUT\u003c/var\u003e with the desired time, using an integer value in seconds, or an [absolute duration value](/sdk/gcloud/reference/topic/datetimes), for example `1m20s` which is 1 minute, 20 seconds. The value you specify must be less than the [timeout limit](#limit) for the cluster's GKE version. Specify `0` to set the timeout to the [default value](#limit).\n\n### YAML\n\n| **Caution:** Deploying configuration changes using YAML files replaces the configuration of your existing services. Since a YAML file completely overwrites all configurations, you should avoid using multiple methods to modify your services. For example, do not use YAML files in conjunction with the Google Cloud console or `gcloud` commands.\n\nYou can download the configuration of an existing service into a\nYAML file with the `gcloud run services describe` command by using the\n[`--format=export`](/sdk/gcloud/reference/run/services/describe) flag.\nYou can then modify that YAML file and deploy\nthose changes with the `gcloud run services replace` command.\nYou must ensure that you modify only the specified attributes.\n\n1. Download the configuration of your service into a file named\n `service.yaml` on local workspace:\n\n ```bash\n gcloud run services describe SERVICE --format export \u003e service.yaml\n ```\n\n Replace \u003cvar translate=\"no\"\u003eSERVICE\u003c/var\u003e with the name of your\n Knative serving service.\n2. In your local file, update the `timeoutSeconds` attribute:\n\n ```yaml\n apiVersion: serving.knative.dev/v1\n kind: Service\n metadata:\n name: SERVICE\n spec:\n template:\n spec:\n containers:\n - image: IMAGE\n timeoutSeconds: TIMEOUT\n ```\n\n Replace:\n - \u003cvar translate=\"no\"\u003eSERVICE\u003c/var\u003e with the name of your Knative serving service\n - \u003cvar translate=\"no\"\u003eIMAGE_URL\u003c/var\u003e with a reference to the container image, for example, `gcr.io/cloudrun/hello`.\n - \u003cvar translate=\"no\"\u003eTIMEOUT\u003c/var\u003e with the desired timeout, in seconds.\n3. Replace the service with its new configuration using the following command:\n\n ```bash\n gcloud run services replace service.yaml\n ```"]]