Tiempo de espera de la función
Si una función se ejecuta por demasiado tiempo, el sistema toma medidas para finalizarla o limitarla. El tiempo de espera predeterminado es de 60 segundos, pero puedes extenderlo o reducirlo cuando implementes la función. La duración máxima del tiempo de espera es de 60 minutos (3,600 segundos) para las funciones de HTTP y 9 minutos (540 segundos) para las funciones controladas por eventos.
Cuando la ejecución de la función alcanza su tiempo de espera, se muestra inmediatamente un mensaje de respuesta con un estado de error de HTTP 504 al emisor. La instancia de la función puede verse limitada, pero continúa funcionando hasta que se cierra por sí sola. Cualquier mensaje de respuesta que la función genere se descarta y no se muestra al emisor.
Este comportamiento puede causar efectos secundarios inesperados. Un síntoma común es que el trabajo y los registros de una solicitud empiezan a “filtrarse” a una solicitud posterior. Para evitar esto, evita los tiempos de espera en tus funciones con las siguientes técnicas:
- Establece un tiempo de espera mayor que el tiempo de ejecución esperado de la función.
- Realiza un seguimiento de la cantidad de tiempo restante durante la ejecución. Luego, realiza una limpieza y regreso antes.
Establece una duración para el tiempo de espera
Puedes configurar el tiempo de espera de una función durante la implementación mediante la CLI de Google Cloud o la consola de Google Cloud.
gcloud
Si realizas la implementación con la CLI de gcloud, usa la marca --timeout
:
gcloud functions deploy YOUR_FUNCTION_NAME --timeout=TIMEOUT_DURATION ...
Para editar un tiempo de espera existente con Google Cloud CLI, vuelve a implementar la función con un nuevo valor de tiempo de espera.
Console
Para configurar la duración del tiempo de espera durante la creación de la función en la consola de Google Cloud, sigue estos pasos:
- Ve a la página Descripción general de funciones de Cloud Run en la consola de Google Cloud.
- Haz clic en Crear función.
- Completa los campos obligatorios de la función.
- Expande la sección Entorno de ejecución, compilación... al final de la página y haz clic en la pestaña Entorno de ejecución.
En el campo Tiempo de espera, ingresa la cantidad de segundos.
Para editar un tiempo de espera de espera existente en la consola de Google Cloud, en la página de descripción general de las funciones, haz clic en el nombre de la función para ir a su página de detalles. En la página de detalles, haz clic en Editar, expande la sección Entorno de ejecución, compilación… y haz clic en la pestaña Entorno de ejecución, en la que puedes editar directamente el valor en el campo Tiempo de espera.