我无法通过celerybeat计划将参数传递给我的函数。在搜索之后看起来好像我应该能够使用args命令传递它们但是我得到的错误如下所示。谁能指出我正确的方向?
CELERYBEAT_SCHEDULE = {
'maintenance_mail_1_day': {
'task': 'home.tasks.maintenance_mail',
'schedule': crontab(hour='15'),
'args' : (1),
},
'maintenance_mail_3_day': {
'task': 'home.tasks.maintenance_mail',
'schedule': crontab(hour='15'),
'args' : (3),
},
'maintenance_mail_5_day': {
'task': 'home.tasks.maintenance_mail',
'schedule': crontab(hour='15'),
'args' : (5),
},
'maintenance_mail_7_day': {
'task': 'home.tasks.maintenance_mail',
'schedule': crontab(hour='15'),
'args' : (7),
}
任务,吡
@app.task
def maintenance_mail(days):
return send_maintnance_emails(days)
答案 0 :(得分:1)
以下内容适用于Python:(1) == 1
为了使其成为单身tuple
,请在您的设置中添加额外的逗号:(1,)
:
# ...
'args' : (1,),
# ...