Django с Huey - задержка выполнения задачи

Для сценария с заказами на продажу мне нужно выполнить задание с заданной задержкой.

Для этого я добавил задачу в файл tasks.py следующим образом:

from huey import crontab
from huey.contrib.djhuey import db_task

@db_task(delay=3600)
def do_something_delayed(instance):
    print("Do something delayed...by 3600 seconds")

Однако эта настройка задержки, похоже, ничего не задерживает. Задача просто запланирована и выполняется немедленно.

Что я делаю не так?

Спасибо coleifer за репо на GitHub: https://github.com/coleifer/huey/issues/678#issuecomment-1184540964

Декораторы task() не принимают параметр задержки, см. https://huey.readthedocs.io/en/latest/api.html#Huey.task

Я предполагаю, что вы уже читали документацию по планированию/отсрочке вызовов задач: https://huey.readthedocs.io/en/latest/guide.html#scheduling-tasks - но это относится к отдельным вызовам.

Если вы хотите, чтобы ваша задача всегда откладывалась на 1 час, то лучшим способом будет:

@db_task()
def do_something(instance):
    print("Do something")

def do_something_delayed(instance):
    return do_something.schedule((instance,), delay=3600)
Вернуться на верх