Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Scopri come impostare il tempo entro il quale una risposta per una richiesta deve essere restituita
dai tuoi servizi Knative serving. Se non viene restituita una risposta entro il
tempo specificato, la richiesta termina e viene restituito l'errore 504.
Limiti di timeout
Il limite di timeout massimo varia in base alla versione del
cluster GKE.
Versione GKE
Limite predefinito
Limite di timeout massimo
0.16.0-gke.1 e versioni successive
300 secondi
24 ore
0.15.0-gke.3 e versioni precedenti
300 secondi
900 secondi
Oltre a modificare il timeout della richiesta di pubblicazione di Knative, devi controllare il framework di lingua per verificare se ha una propria impostazione di timeout della richiesta che devi aggiornare.
Impostazione e aggiornamento del timeout della richiesta
Qualsiasi modifica alla configurazione comporta la
creazione di una nuova revisione. Anche le revisioni successive acquisiranno automaticamente questa impostazione di configurazione, a meno che non apporti aggiornamenti espliciti per modificarla.
Puoi impostare il timeout della richiesta utilizzando la Google Cloud console,
l'interfaccia a riga di comando Google Cloud o un file YAML quando esegui il deployment di un nuovo
servizio o aggiorni un servizio esistente e
esegui il deployment di una revisione:
Console
Vai alla pubblicazione Knative nella Google Cloud console:
Fai clic su Crea servizio se stai configurando un nuovo servizio di destinazione del deployment. Se stai configurando un servizio esistente, fai clic sul servizio, poi su Modifica ed esegui il deployment di una nuova revisione.
In Impostazioni avanzate, fai clic su Contenitore.
Nel campo Timeout richiesta, inserisci il valore del timeout che vuoi utilizzare. Il valore specificato deve essere inferiore al
limite di timeout per la versione GKE del cluster.
Fai clic su Avanti per passare alla sezione successiva.
Nella sezione Configura il funzionamento del trigger per questo servizio,
seleziona la connettività che vuoi utilizzare per richiamare il servizio.
Fai clic su Crea per eseguire il deployment dell'immagine in Knative Serving e attendi
il completamento del deployment.
Riga di comando
Per i servizi esistenti, imposta il timeout della richiesta eseguendo il comando gcloud run services update con il parametro --timeout:
gcloudrunservicesupdateSERVICE--timeoutTIMEOUT
Sostituisci:
SERVICE con il nome del servizio.
TIMEOUT con il tempo desiderato, utilizzando un valore intero in secondi o un valore di durata assoluta, ad esempio 1m20s, ovvero 1 minuto e 20 secondi. Il valore specificato deve essere inferiore al limite di timeout per la versione GKE del cluster.
Specifica 0 per impostare il timeout sul valore predefinito.
Per i nuovi servizi, imposta il timeout della richiesta eseguendo il comando gcloud run deploy con il parametro --timeout:
IMAGE_URL con un riferimento all'immagine del container, ad esempio gcr.io/cloudrun/hello.
TIMEOUT con il tempo desiderato, utilizzando un valore intero in secondi o un valore di durata assoluta, ad esempio 1m20s, ovvero 1 minuto e 20 secondi. Il valore specificato deve essere inferiore al limite di timeout per la versione GKE del cluster.
Specifica 0 per impostare il timeout sul valore predefinito.
YAML
.
Puoi scaricare la configurazione di un servizio esistente in un
file YAML con il comando gcloud run services describe utilizzando il
--format=export flag.
Puoi quindi modificare il file YAML e implementare queste modifiche con il comando gcloud run services replace.
Devi assicurarti di modificare solo gli attributi specificati.
Scarica la configurazione del servizio in un file denominato
service.yaml nello spazio di lavoro locale:
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-01 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 ```"]]