2011-09-24 19 views
6

Estoy ejecutando un sitio web de Django donde utilizo Celery para implementar el almacenamiento en caché preventivo, es decir, calculo y guardo los resultados incluso antes de que el usuario los solicite.¿Cómo se aplica rate_limit en Apio?

Sin embargo, una de mis tareas de apio podría, en alguna situación, llamarse mucho (diría que es mucho más rápido de lo que completa en promedio, en realidad). Me gustaría calificarlo para que no consuma muchos recursos cuando en realidad no es tan útil.

Sin embargo, me gustaría primero comprender cómo se aplica el atributo celery.task.base.Task.rate_limit de Celery. ¿Las tareas son rechazadas? ¿Se retrasaron y ejecutaron más tarde?

¡Gracias de antemano!

Respuesta

16

Las tareas de velocidad limitada nunca se descartan, se ponen en cola internamente en el trabajador para que se ejecuten tan pronto como se les permite ejecutarse.

El algoritmo de depósito de tokens no especifica nada sobre la caída de paquetes (es una opción, pero Aplery no lo hace).

Cuestiones relacionadas