【问题标题】:Django Celery Beat - How to pass arguments using the DatabaseSchedulerDjango Celery Beat - 如何使用 DatabaseScheduler 传递参数
【发布时间】:2013-03-28 19:59:00
【问题描述】:

我在 Django Celery Beat 中使用“DatabaseScheduler”,但我无法将参数传递给函数。

设置:

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

任务:

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

如何使用 Django 管理员传递参数“days”?我创建了一个名为“some_task”的新“定期任务”。我试图通过以下方式来度过争论的日子:

Arguments: [7]

也经过测试:

Keyword arguments: {"days": 7}

有人可以告诉我如何使用 Django admin 传递参数吗?

最好的问候,

【问题讨论】:

  • 好的。我知道我的问题是什么。我指定这样的参数 ['abc','xyz'] 而它接受这种方式 ["abc","xyz"]。它只接受双引号。但是,在您的情况下,参数是整数。我不明白为什么这对你来说失败了。

标签: django django-celery celerybeat


【解决方案1】:

参数和关键字参数必须使用双引号。

所以如果你指定参数,它应该是这样的:

["aa", "11"]

如果你指定关键字参数,它应该是这样的:

{"abc": "a", "xyz": "1"}

【讨论】:

    猜你喜欢
    • 2020-06-07
    • 2019-11-15
    • 2022-01-20
    • 2015-01-01
    • 1970-01-01
    • 2017-08-07
    • 1970-01-01
    • 2019-11-16
    • 2013-03-18
    相关资源
    最近更新 更多