Cuotas y límites

Workflows usa cuotas y límites del sistema para mantener una asignación justa de recursos, evitar sobrecargas de servicios y ayudarte a administrar el uso de recursos.

Las cuotas y los límites del sistema son similares, pero difieren de las siguientes maneras:

  • Las cuotas tienen valores predeterminados, pero, por lo general, puedes solicitar ajustes.
  • Los límites del sistema son valores fijos que no se pueden cambiar.

Google Cloud usa cuotas para mantener la equidad y reducir los aumentos repentinos en el uso y la disponibilidad de los recursos. Una cuota restringe la cantidad de un recurso deGoogle Cloud que puede usar tu proyecto de Google Cloud . Las cuotas se aplican a una variedad de tipos de recursos, incluidos los componentes de hardware, software y red. Por ejemplo, las cuotas pueden restringir la cantidad de llamadas a la API para un servicio, la cantidad de balanceadores de cargas que se usan en simultáneo en tu proyecto o la cantidad de proyectos que puedes crear. Las cuotas protegen a la comunidad de usuarios deGoogle Cloud evitando la sobrecarga de los servicios. También te ayudan a administrar tus propios recursos de Google Cloud .

El sistema de cuotas de Cloud lleva a cabo las siguientes acciones:

En la mayoría de los casos, cuando intentas consumir más de lo que permite la cuota de un recurso, el sistema bloquea el acceso al recurso y la tarea que intentas llevar a cabo falla.

Por lo general, las cuotas se aplican a nivel de proyecto de Google Cloud . El uso de un recurso en un proyecto no afecta tu cuota disponible en otro proyecto. En un proyecto de Google Cloud , las cuotas se comparten entre todas las aplicaciones y direcciones IP.

Para obtener más información, consulta la descripción general de cuotas de Cloud.

También existen límites del sistema para los recursos de Workflows. Los límites del sistema no se pueden cambiar.

Cuotas

Workflows aplica las siguientes cuotas para cada proyecto de Google Cloud. Puedes aumentar o disminuir estas cuotas:

Cuota Descripción Valor
Flujos de trabajo totales La cantidad máxima de flujos de trabajo que puedes implementar por proyecto 10,000
Ejecuciones simultáneas

Es la cantidad máxima de ejecuciones de flujo de trabajo activas por región y por proyecto. Las ejecuciones simultáneas son ejecuciones que se iniciaron y aún no se completaron ni fallaron, incluidas las que están esperando devoluciones de llamada o están inactivas.

Una vez que se alcanza la cuota y con la lista de tareas pendientes de ejecución habilitada de forma predeterminada (con algunas excepciones), las ejecuciones se crean en un estado QUEUED. Si se inhabilita la acumulación de ejecuciones o si se alcanza la cuota de ejecuciones acumuladas, las ejecuciones nuevas fallarán con un código de estado HTTP 429 Too many requests. Para obtener más información, consulta Administra la acumulación de ejecuciones.

10,000
Ejecuciones pendientes Es la cantidad máxima de ejecuciones de flujo de trabajo pendientes por región y por proyecto.

Para obtener más información, consulta Administra la lista de tareas pendientes de ejecución.

100,000
Solicitudes a la API de Workflow Es la cantidad máxima de solicitudes a la API (create, update, list, get, delete) de todos los flujos de trabajo de tu proyecto (por minuto y por ubicación). 1,200
Solicitudes get de la API de Execution Es la cantidad máxima de solicitudes para get ejecuciones de flujos de trabajo de todos los flujos de trabajo de tu proyecto (por minuto y por ubicación). 6,000
Solicitudes de lista de API de Execution Es la cantidad máxima de solicitudes para list ejecuciones de flujos de trabajo de todos los flujos de trabajo de tu proyecto (por minuto y por ubicación). 1,200
Solicitudes de escritura de la API de Execution Es la cantidad máxima de solicitudes para las ejecuciones de flujos de trabajo create y cancel (incluidas las ejecuciones activadas por Eventarc) de todos los flujos de trabajo de tu proyecto (por minuto y por ubicación).

Si las ejecuciones activadas por Eventarc superan este máximo, los eventos se reintentan según la política de reintentos de Eventarc.

6,000
Solicitudes de obtención de entradas de pasos de la API de Execution Es la cantidad máxima de solicitudes para get una entrada de paso de una ejecución de flujo de trabajo (por minuto y por ubicación). 6,000
Solicitudes de entradas de pasos de lista de la API de Execution Es la cantidad máxima de solicitudes para list entradas de pasos de una ejecución de flujo de trabajo (por minuto y por ubicación). 1,200
Solicitudes de exportación de datos de la API de Execution Es la cantidad máxima de solicitudes a export data desde una ejecución de flujo de trabajo (por minuto y por ubicación). 10
Solicitudes HTTP a extremos de devolución de llamada Es la cantidad máxima de solicitudes a la API de SendHttpCallback que se realizan en los recursos de ejecución de todos los flujos de trabajo de tu proyecto (por minuto y por ubicación). 1,500
Solicitudes de devolución de llamada de la lista de la API de Execution La cantidad máxima de solicitudes a las devoluciones de llamada de list desde una ejecución de flujo de trabajo (por minuto y por ubicación) 300

Solicitudes de aumento de cuota

Para aumentar o disminuir las cuotas, usa la consola de Google Cloud . Para obtener más información, consulta Solicita una cuota mayor.

Supervisa el uso de la cuota

Puedes consultar y supervisar las métricas de uso de cuotas. Para ver un ejemplo, consulta Supervisa las métricas de cuota, en el que se muestra cómo consultar la cuota de asignación total consumida para Workflows. Para obtener información sobre cómo supervisar las métricas de uso de cuota, consulta Gráfico y supervisión de métricas de cuota.

Límites de pasos

Workflows aplica los siguientes límites de pasos para cada flujo de trabajo. No puedes solicitar cambios en estos límites:

Límite Descripción Valor
Asignaciones por paso La cantidad máxima de asignaciones que se pueden realizar en un solo paso 50
Condiciones por interruptor Es la cantidad máxima de condiciones que se pueden evaluar en un solo bloque de interruptor. 50
Profundidad máxima de la pila de llamadas Es la cantidad máxima de niveles de funciones de llamada, por ejemplo, cuando un subflujo de trabajo se llama a sí mismo o a otro subflujo de trabajo, o bien llamadas a funciones de biblioteca estándar que, a su vez, llaman a otras funciones. 20
Pasos mínimos Cantidad mínima de pasos dentro de un flujo de trabajo 1
Cantidad máxima de pasos La cantidad máxima de pasos que se pueden realizar en una sola ejecución de un flujo de trabajo

Para obtener más información sobre lo que se considera un paso, consulta Optimiza el uso.

100,000

Límites de pasos paralelos

Workflows aplica los siguientes límites cuando se usan pasos paralelos. No puedes solicitar cambios en estos límites:

Límite Descripción Valor
Ramas por paso Es la cantidad máxima de ramas admitidas en un paso paralelo. 10
Profundidad paralela La profundidad máxima en la que se pueden anidar los pasos paralelos 2
Ramas e iteraciones simultáneas

Es la cantidad máxima de ramas e iteraciones que se pueden ejecutar de forma simultánea en una sola ejecución de flujo de trabajo antes de que se pongan en cola automáticamente más ramas e iteraciones para esperar a que se completen uno o más subprocesos en ejecución.

No hay un límite para la cantidad total de hilos, pero se aplican todos los demás límites.

20
Excepciones no detectadas dentro de un paso paralelo Es la cantidad máxima de excepciones no controladas que se pueden generar durante la ejecución del flujo de trabajo (en total). 100

Límites de recursos

Workflows aplica los siguientes límites de uso. No puedes solicitar cambios en estos límites:

Límite Descripción Valor
Tamaño del código fuente El tamaño máximo del archivo YAML o JSON que define tu flujo de trabajo 128 KB
Tamaño de la respuesta El tamaño máximo de una respuesta HTTP (si se guarda en una variable, se aplica el límite de memoria para las variables) 2 MB
Tiempo de espera de la solicitud HTTP

La duración máxima configurable para una sola solicitud HTTP. Una solicitud que supera su tiempo de espera falla con un TimeoutError:

  • Para los pasos de solicitud HTTP (http.get, http.post, http.request y otras llamadas http.*), el timeout predeterminado es de 300 segundos (5 minutos), y puedes configurar un timeout de hasta 1,800 segundos (30 minutos). Si configuras timeout para que dure más de 1,800 segundos, se genera un ValueError.
  • Para las llamadas de conector, el connector_params.timeout predeterminado es de 1,800 segundos (30 minutos). Si configuras un connector_params.timeout más largo para los reintentos o el sondeo de operaciones de larga duración (hasta 1 año), cada solicitud HTTP individual se limita a 1,800 segundos.
1,800 segundos (30 minutos)
Longitud de la expresión La cantidad máxima de caracteres en una sola expresión 400 caracteres
Tamaño de los datos El tamaño acumulativo máximo para variables, argumentos y eventos: 512 KB
  • Cantidad máxima de memoria que puedes usar para todas las variables que definas en una sola ejecución de un flujo de trabajo determinado
  • Tamaño máximo de los argumentos que puedes pasar cuando creas una ejecución de flujo de trabajo
  • Tamaño máximo de la carga útil de Eventarc que puedes pasar cuando activas una ejecución de flujo de trabajo con eventos
Longitud máxima de la cadena en bytes con codificación UTF-8 256 KB
Variables de entorno Es el tamaño máximo de una cadena de definición de variable de entorno definida por el usuario (KEY=value). Se puede definir un máximo de 20 variables. 4 KiB
Duración de la ejecución Es la duración máxima (desde la hora de inicio hasta la hora de finalización) para la ejecución de un flujo de trabajo. Cualquier flujo de trabajo que supere este límite finaliza con un error de tiempo de espera. 1 año
Retención de ejecuciones Es el período de retención máximo (después de que se completa la ejecución de un flujo de trabajo) del historial y los resultados de una ejecución. 90 días
Período de anulación de duplicación La ventana de anulación de duplicación para garantizar el procesamiento de tipo “exactamente una vez” cuando se activa una ejecución de flujo de trabajo con eventos 24 horas