Как обеспечивается соблюдение rate_limit в Celery?

Я запускаю веб-сайт Django, где я использую Celery для реализации превентивного кэширования - то есть я вычисляю и кэширую результаты еще до того, как они будут запрошены пользователем.

Однако, одна из моих задач Celery может, в некоторой ситуации, вызываться очень часто (я бы сказал, гораздо быстрее, чем она завершается в среднем). Я бы хотел ограничить ее скорость, чтобы она не потребляла много ресурсов, когда она на самом деле не так уж полезна.

Однако, сначала я хотел бы понять, как применяется атрибут celery.task.base.Task.rate_limit в Celery. Отказываются ли задания? Откладываются ли они и выполняются позже?

Заранее спасибо!

6
задан Thomas Orozco 24 September 2011 в 21:06
поделиться