【发布时间】:2013-12-28 07:42:47
【问题描述】:
Celery docs describe 如何将位置参数作为列表或元组传递给按节拍安排的任务。
我有一个任务,它接受一个参数,一个整数列表:
@shared_task
def schedule_by_ids(ids):
...
我的 celerybeat 时间表如下所示:
CELERYBEAT_SCHEDULE = {
'schedule_by_ids': {
'task': 'myproj.app.tasks.schedule_by_ids',
'schedule': crontab(minute='*/10', hour='8-21'),
'args': ([1,]),
},
}
我的任务因“int is not iterable”而失败TypeError。根据我的显示器(芹菜花),参数传递为[1]。
当我将 args 设为列表时,例如 [[1]],arg 在监视器中显示为 [[1]],并且工作正常。
我的问题是:当它是一个元组时,它是如何传递参数的?为什么?
【问题讨论】:
标签: python celery django-celery celerybeat