是否可以在Django设置中将参数传递给celery任务?

时间:2018-12-17 18:36:38

标签: django celery

我的settings.py文件中包含以下条目:

CELERYBEAT_SCHEDULE = {
'exec-task-every-hour': {
    'task': 'app1.tasks.task1',
    'schedule': crontab(hour='0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23', minute='0')
    }
}

并且int完美运行。

是否可以添加一个参数,并将其通过此设置条目传递给被调用的任务(task1)?

1 个答案:

答案 0 :(得分:1)

是-在'args''kwargs'旁边添加'task'列表(或'schedule'字典以传递关键字参数)。

CELERYBEAT_SCHEDULE = {
    'exec-task-every-hour': {
        'task': 'app1.tasks.task1',
        'schedule': crontab(hour='0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23', minute='0'),
        'args': (123, ),
    }
}

另请参阅:celerybeat docs