Problemas y limitaciones

En esta página, se describen algunos problemas y limitaciones con los que podrías encontrarte. cuando uses Cloud Tasks.

Orden de ejecución

A excepción de las tareas programadas para ejecutarse en el futuro, las listas de tareas en cola se y completamente independiente de la plataforma del orden de ejecución. No hay garantías intentos de hacer todo lo posible para ejecutar tareas en cualquier orden en particular. Más precisamente: no hay garantías de que las tareas anteriores se ejecutarán, a menos que se cree una cola está completamente vacío. Hay casos comunes en que las tareas más nuevas ejecutar antes que las tareas más antiguas, y los patrones relacionados con esto pueden cambiar sin previo aviso.

Ejecución duplicada

Cloud Tasks apunta a un estricto enfoque “ejecutar exactamente una vez” semántica. Sin embargo, en situaciones en las que es necesario hacer un intercambio de diseño entre ejecución y la ejecución duplicada, el servicio prefiere evitar ejecución. Por tanto, es inevitable que algunas tareas se ejecuten por duplicado. Los desarrolladores deben tomar medidas para garantizar que la ejecución duplicada no sea una un evento catastrófico. En producción, más del 99.999% de las tareas se ejecutan solo una vez.

Limitaciones de recursos

La fuente más común de tareas pendientes en las colas de procesamiento inmediato es el agotamiento de los recursos de las instancias objetivo. Si un usuario intenta ejecutar 100 tareas por segundo en instancias de front-end que solo pueden ejecutar 10 solicitudes por segundo, se generará una pila de trabajo pendiente. Por lo general, esto se manifiesta de una de dos maneras, pero ambas pueden resolverse generalmente aumentando la cantidad de instancias que procesan las solicitudes.

Errores de retirada y frecuencias forzadas

Los servidores que se están sobrecargando pueden comenzar a mostrar errores de retirada: HTTP 503 (para objetivos de App Engine), o bien HTTP 429 o 5xx (para destinos externos). Cloud Tasks reacciona a estos errores ralentizando la ejecución hasta que se detendrán los errores. La limitación del sistema evita que el trabajador se sobrecargue. Nota que no se modifique la configuración especificada por el usuario.

La limitación del sistema ocurre en las siguientes circunstancias:

  • Cloud Tasks se retira en todos los errores. Por lo general, la retirada especificadas en rate limits y control sobre el uso de sus datos. Sin embargo, si el trabajador muestra HTTP 429 Too Many Requests, 503 Service Unavailable o la tasa de errores es alta, Cloud Tasks usa una tasa de retirada más alta. El reintento especificado en el HTTP Retry-After de respuesta de la llamada.

  • Para evitar los aumentos repentinos de tráfico y suavizar los aumentos repentinos en el tráfico, los envíos aumentan lentamente cuando la cola se crea recientemente o está inactiva, y si es grande de tareas están disponibles de repente para su envío (debido a los aumentos repentinos en la cantidad de tareas, la cola de activación o muchas tareas que están programadas en el mismo tiempo).

Picos de latencia y máximo simultáneo

Los servidores sobrecargados también pueden responder con grandes aumentos en la latencia. En esta situación, las solicitudes permanecen abiertas durante más tiempo. Dado que las colas se ejecutan con un máximo de solicitudes simultáneas, esto puede impedir que las colas puedan ejecutar tareas con la frecuencia prevista. Aumentar el max_concurrent_tasks de las colas afectadas puede ser útil en situaciones en las que el valor se establece demasiado baja, introduciendo un límite de frecuencia artificial. Sin embargo, aumentar max_concurrent_tasks es poco probable que alivia la presión subyacente sobre los recursos.

Acelera los problemas con las tareas de larga duración

Las colas de Cloud Tasks aumentan sus resultados en parte según la cantidad de con éxito las tareas enviadas anteriormente. Si el controlador de tareas tarda bastante de tiempo, en minutos, para completar una tarea y devolver de respuesta correcta, puede haber un retraso en la tasa de aumento de la cola.

Visualización de más de 5,000 tareas

Si tienes más de 5,000 tareas, algunas no estarán visibles en el Consola de Google Cloud Usa gcloud CLI para ver todas las tareas.