Python 芹菜节拍参数:列表与元组
如何将位置参数作为列表或元组传递给计划任务 我有一个任务需要一个参数,一个整数列表:Python 芹菜节拍参数:列表与元组,python,celery,django-celery,celerybeat,Python,Celery,Django Celery,Celerybeat,如何将位置参数作为列表或元组传递给计划任务 我有一个任务需要一个参数,一个整数列表: @shared_task def schedule_by_ids(ids): ... 我的celerybeat时间表如下所示: CELERYBEAT_SCHEDULE = { 'schedule_by_ids': { 'task': 'myproj.app.tasks.schedule_by_ids', 'schedule': crontab(minute='*/1
@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不可编辑”TypeError
。根据我的监视器(芹菜花),args作为[1]
传递
当我将arg列为一个列表时,如[[1]]
,arg在监视器中显示为[[1]]
,并且工作正常
我的问题是:当它是一个元组时,它是如何传递参数的?为什么?
([1,])
那不是一个元组。这只是分组括号中的[1,]
。如果需要一个1元素元组,则需要像这样在元组中加一个逗号,以便将其与带括号的表达式区分开来:
([1,],)
我怀疑你可能把逗号放错了地方,你是故意这样做的:
([1],)
那不是一个元组。这只是分组括号中的[1,]
。如果需要一个1元素元组,则需要像这样在元组中加一个逗号,以便将其与带括号的表达式区分开来:
([1,],)
我怀疑你可能把逗号放错了地方,你是故意这样做的:
([1],)