Django Celery Beat - Как передавать аргументы с помощью DatabaseScheduler

Я использую «DatabaseScheduler» с Django Celery Beat, но не могу передать аргументы функции.

Настройки:

# Django celery
import djcelery
djcelery.setup_loader()
BROKER_URL = 'django://'
CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"

Задание:

@task()
def some_task(days):
    # Some code
    ...

Как я могу передать аргумент «дни» с помощью администратора Django? Я создал новую «Периодическую задачу», назвав «some_task». Я пытался провести дни спора с:

Arguments: [7]

а также протестировано:

Keyword arguments: {"days": 7}

Кто-нибудь может подсказать, как передавать аргументы с помощью администратора Django?

С уважением,


person André    schedule 28.03.2013    source источник
comment
Ok. Я знаю, в чем была проблема в моем случае. Я указывал такие аргументы ['abc','xyz'], тогда как он принимает этот способ [abc,xyz]. Он принимает только двойные кавычки. Однако в вашем случае аргумент является целым числом. Я не понимаю, почему это у вас не получается.   -  person kanishk    schedule 08.04.2013


Ответы (1)


Аргументы и аргументы ключевого слова должны заключаться в двойные кавычки.

Итак, если вы указываете аргументы, это должно выглядеть так:

["aa", "11"]

Если вы указываете аргументы ключевого слова, это должно выглядеть так:

{"abc": "a", "xyz": "1"}
person kanishk    schedule 24.07.2013