Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Découvrez comment définir le délai au cours duquel une réponse à une requête doit être renvoyée par vos services Knative serving. Si une réponse n'est pas renvoyée dans le délai spécifié, la requête se termine et l'erreur 504 est renvoyée.
Délai avant expiration
Le délai avant expiration maximal varie en fonction de la version de votre cluster GKE.
Version de GKE
Limite par défaut
Délai avant expiration maximal
0.16.0-gke.1 et versions ultérieures
300 secondes
24 heures
0.15.0-gke.3 et versions antérieures
300 secondes
900 secondes
Outre la modification du délai avant expiration de la requête dans Knative serving, vous devez vérifier le framework de votre langage pour voir s'il possède son propre paramètre de délai avant expiration de la requête que vous devrez également mettre à jour.
Définir et mettre à jour le délai avant expiration de la requête
Toute modification de configuration entraîne la création d'une révision. Les révisions ultérieures obtiennent aussi automatiquement le même paramètre de configuration, à moins que vous ne le mettiez explicitement à jour.
Vous pouvez définir le délai avant expiration de la requête à l'aide de la Google Cloud console, de Google Cloud CLI ou d'un fichier YAML lorsque vous déployez un nouveau service ou mettez à jour un service existant et déployez une révision:
Console
Accédez à Knative serving dans la console Google Cloud :
Cliquez sur Créer un service si vous configurez un nouveau service sur lequel effectuer un déploiement. Si vous configurez un service existant, cliquez sur celui-ci, puis sur Modifier et déployer la nouvelle révision.
Sous Paramètres avancés, cliquez sur Conteneur.
Dans le champ Délai avant expiration de la requête, saisissez la valeur du délai avant expiration que vous souhaitez utiliser. La valeur que vous spécifiez doit être inférieure au délai avant expiration indiqué pour la version GKE du cluster.
Cliquez sur Suivant pour passer à la section suivante.
Dans la section Configurer la manière dont ce service est déclenché, sélectionnez la connectivité que vous souhaitez utiliser pour appeler le service.
Cliquez sur Créer pour déployer l'image sur Knative serving et attendez la fin du déploiement.
Ligne de commande
Pour les services existants, définissez le délai avant expiration de la requête en exécutant la commande gcloud run services update avec le paramètre --timeout.
gcloudrunservicesupdateSERVICE--timeoutTIMEOUT
Remplacez :
SERVICE par le nom de votre service ;
TIMEOUT par la durée souhaitée, en utilisant un nombre entier (en secondes) ou une valeur de durée absolue, par exemple 1m20s, soit 1 minute 20 secondes. La valeur que vous spécifiez doit être inférieure au délai avant expiration indiqué pour la version GKE du cluster.
Spécifiez 0 pour définir le délai avant expiration sur la valeur par défaut.
Pour les nouveaux services, définissez le délai avant expiration de la requête en exécutant la commande gcloud run deploy avec le paramètre --timeout :
IMAGE_URL par une référence à l'image de conteneur, par exemple gcr.io/cloudrun/hello ;
TIMEOUT par la durée souhaitée, en utilisant un nombre entier (en secondes) ou une valeur de durée absolue, par exemple 1m20s, soit 1 minute 20 secondes. La valeur que vous spécifiez doit être inférieure au délai avant expiration indiqué pour la version GKE du cluster.
Spécifiez 0 pour définir le délai avant expiration sur la valeur par défaut.
YAML
Vous pouvez télécharger la configuration d'un service existant dans un fichier YAML avec la commande gcloud run services describe à l'aide de l'option --format=export.
Vous pouvez ensuite modifier ce fichier YAML et déployer ces modifications à l'aide de la commande gcloud run services replace.
Veillez à ne modifier que les attributs spécifiés.
Téléchargez la configuration de votre service dans un fichier nommé service.yaml sur l'espace de travail local :
SERVICE par le nom de votre service Knative serving ;
IMAGE_URL par une référence à l'image de conteneur, par exemple gcr.io/cloudrun/hello.
TIMEOUT par le délai avant expiration souhaité, exprimé en secondes.
Remplacez la configuration du service en utilisant la commande suivante :
gcloudrunservicesreplaceservice.yaml
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/01 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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 ```"]]