Я не понимаю, как выполнить задачу, используя очереди. Я прочитал документацию и подумал, что понял bucket_size и rate, но когда я отправляю 20 задач в очередь, установленную на 5 / час, размер 5, все 20 задач выполняются одна за другой как можно быстрее, заканчивая менее чем за 1 минута.
deferred.defer(spam.cookEggs,
egg_keys,
_queue="tortoise")
- name: tortoise
rate: 5/h
bucket_size: 5
Я хочу создать 10 или 100 задач, я хочу, чтобы в час выполнялось только 5 из них. Таким образом, на выполнение 20 задач потребуется примерно 4 часа. Я хочу, чтобы их выполнение было распределено.
Проблема заключалась в том, что я предполагал, что при локальном запуске соблюдались эти правила скорости выполнения Задачи, но это не так. Вы не можете тестировать скорость выполнения локально. Когда я развернул производство, скорость и размер корзины, которые я установил, были выполнены так, как я ожидал.