Configura el tiempo de espera de solicitudes (servicios)

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Para los servicios de Cloud Run, la configuración del tiempo de espera de las solicitudes especifica el tiempo en el que los servicios implementados en Cloud Run deben mostrar una respuesta. Si no se muestra una respuesta dentro del tiempo especificado, la solicitud finaliza y se muestra el error 504.

El tiempo de espera se establece de forma predeterminada en 5 minutos y se puede extender hasta 60 minutos.

Puedes cambiar esta configuración cuando implementas una imagen de contenedor o actualizas la configuración del servicio.

Además de cambiar el tiempo de espera de las solicitudes de Cloud Run, también debes verificar el framework del lenguaje para ver si tiene su propia configuración de tiempo de espera de solicitudes que también debes actualizar.

Configura y actualiza el tiempo de espera de las solicitudes

Cualquier cambio en la configuración conlleva la creación de una revisión nueva. Las revisiones posteriores también adoptarán esta configuración de manera automática, a menos que realices actualizaciones explícitas para cambiarla.

Puedes configurar el tiempo de espera de las solicitudes mediante la consola de Google Cloud, la línea de comandos de gcloud o un archivo YAML cuando creas un servicio nuevo o implementas una revisión nueva.

Console

  1. Ir a Cloud Run

  2. Haz clic en Crear servicio si quieres configurar un servicio nuevo en el que realizarás la implementación. Si quieres configurar un servicio existente, haz clic en el servicio y, luego, en Edit and Deploy New Revision.

  3. Si configuras un servicio nuevo, completa la página de configuración del servicio inicial como desees y haz clic en Contenedor, conexiones, seguridad para expandir la página de configuración del servicio.

  4. Haz clic en la pestaña Contenedor.

    image

  5. En el campo Tiempo de espera de la solicitud, ingresa el valor de tiempo de espera que deseas usar en segundos. Usa valores que varían de 1 a 3600 segundos o de 1 a 60 minutos.

  6. Haz clic en Crear o Implementar.

Línea de comandos

Puedes actualizar el tiempo de espera de la solicitud para una revisión determinada en cualquier momento mediante el siguiente comando:

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

Reemplaza los siguientes elementos:

  • [SERVICE] por el nombre de tu servicio.
  • [TIMEOUT] por el tiempo deseado, con un valor de número entero o un valor de duración absoluta, por ejemplo, 1m20s (1 minuto, 20 segundos). Si usas un valor de número entero, se supone que la unidad será en segundos. El valor que especifiques debe ser inferior a 60 minutos.

También puedes configurar el tiempo de espera de las solicitudes durante la implementación mediante el siguiente comando:

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

Reemplaza los siguientes elementos:

  • IMAGE_URL por una referencia a la imagen de contenedor, como us-docker.pkg.dev/cloudrun/container/hello:latest.
  • [TIMEOUT] por el tiempo deseado, con un valor de número entero o de duración, por ejemplo 1m20s, que es 1 minuto, 20 segundos. Si usas un valor de número entero, se supone que la unidad será en segundos. El valor que especifiques debe ser inferior a 60 minutos.

YAML

Puedes descargar y ver la configuración del servicio existente mediante el comando gcloud run services describe --format export, que genera resultados limpios en formato YAML. Luego, puedes modificar los campos que se describen a continuación y subir el YAML modificado mediante el comando gcloud run services replace. Asegúrate de modificar los campos tal como se indica en la documentación.

  1. Para ver y descargar la configuración, ejecuta el siguiente comando:

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

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

    Reemplazar

    • SERVICE por el nombre del servicio de Cloud Run
    • IMAGE_URL por una referencia a la imagen de contenedor, como us-docker.pkg.dev/cloudrun/container/hello:latest
    • VALUE por el tiempo de espera deseado, en segundos.
    • REVISION por un nombre de revisión nuevo o bórralo (si está presente). Si proporcionas un nuevo nombre de revisión, debe cumplir con los siguientes criterios:
      • Comienza con SERVICE-
      • Solo contiene letras minúsculas, números y -
      • No termina con -
      • No supera los 63 caracteres
  3. Reemplaza el servicio por la configuración nueva mediante el comando siguiente:

    gcloud run services replace service.yaml

Terraform

Agrega lo siguiente a un recurso google_cloud_run_service en la configuración de Terraform, en template.spec. Reemplaza 300 por el tiempo de espera de solicitud que deseas para el servicio (en segundos).

# Timeout
# https://cloud.google.com/run/docs/configuring/request-timeout
timeout_seconds = 300

Para aplicar tu configuración de Terraform en un proyecto de Google Cloud, completa los siguientes pasos:

  1. Inicia Cloud Shell
  2. Establece el proyecto de Google Cloud en el que deseas aplicar la configuración de Terraform:
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    
  3. Crea un directorio y abre un archivo nuevo en ese directorio. El nombre del archivo debe tener la extensión .tf, por ejemplo main.tf:
    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
  4. Copia la muestra en main.tf.
  5. Revisa y modifica los parámetros de muestra que se aplicarán a tu entorno.
  6. Para guardar los cambios, presiona Ctrl-x y, luego, y.
  7. Inicializa Terraform mediante este comando:
    terraform init
  8. Revisa la configuración y verifica que los recursos que creará o actualizará Terraform coincidan con tus expectativas:
    terraform plan

    Corrige la configuración según sea necesario.

  9. Para aplicar la configuración de Terraform, ejecuta el siguiente comando y, luego, ingresa yes cuando se te solicite:
    terraform apply

    Espera hasta que Terraform muestre el mensaje “Apply complete!”.

  10. Abre tu proyecto de Google Cloud para ver los resultados. En la consola de Google Cloud, navega a tus recursos en la IU para asegurarte de que Terraform los haya creado o actualizado.

Visualiza la configuración de tiempo de espera de solicitudes

Para ver la configuración actual de tiempo de espera de solicitudes de tu servicio de Cloud Run, sigue estos pasos:

Console

  1. Ir a Cloud Run

  2. Haz clic en el servicio que te interesa para abrir la página Detalles del servicio.

  3. Haz clic en la pestaña Revisiones.

  4. En el panel de detalles a la derecha, la configuración de tiempo de espera de solicitudes se muestra en la pestaña Contenedor.

Línea de comandos

  1. Usa el siguiente comando:

    gcloud run services describe SERVICE
  2. Busca la configuración de tiempo de espera de solicitudes en la configuración que se muestra.