Problemas y limitaciones

Es posible que encuentres los siguientes problemas y limitaciones cuando uses Cloud Tasks:

Orden de ejecución

Salvo por las tareas programadas para ejecutarse en el futuro, las listas de tareas en cola no aplican ninguna preferencia en cuanto al orden de ejecución. No se garantiza ni se intenta que las tareas se ejecuten en ningún orden en particular. Específicamente, esto implica que no existe garantía alguna de que las tareas más antiguas vayan a ejecutarse, a menos que se vacíe por completo la cola. Existen algunos casos comunes en los que las tareas más nuevas se ejecutan antes que las más antiguas, y los patrones relacionados con estos casos pueden cambiar sin previo aviso.

Ejecución duplicada

Cloud Tasks busca una semántica estricta de “ejecutar exactamente una vez”. Sin embargo, hay situaciones en las que no es posible garantizar que todas las tareas se ejecuten sin correr el riesgo de que alguna tarea se ejecute dos veces. En esos casos, el servicio prefiere errar del lado de la ejecución garantizada. Por tanto, es inevitable que algunas tareas se ejecuten por duplicado. Los desarrolladores deben tomar medidas para asegurarse de que las ejecuciones duplicadas no sean un evento catastrófico. En producción, más del 99.999% de las tareas se ejecuta 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 sobrecargan pueden comenzar a mostrar errores de retirada en forma del código de respuesta HTTP 503. Cloud Tasks reaccionará a estos errores y ralentizará la ejecución hasta que se detengan los errores.

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 ayudar en situaciones en las que el valor se estableció demasiado bajo y se ingresa un límite de frecuencia artificial. Sin embargo, es poco probable que aumentar max_concurrent_tasks alivie la presión subyacente sobre los recursos.

Acelera los problemas con las tareas de larga duración

Las colas de Cloud Tasks aumentan su resultado, en parte, según la cantidad de tareas exitosas enviadas con anterioridad. Si el controlador de tareas tarda un período de tiempo considerable (en minutos) en completar una tarea y mostrar una respuesta exitosa, puede haber un retraso en la frecuencia de aumento de la cola.

Visualiza más de 5,000 tareas

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