jnn*_*nns 11 django celery django-celery celeryd
我想使用django-celery的管理界面为芹菜创建一个周期性任务.我有一个任务设置,在手动或脚本调用时运行良好.它只是通过celerybeat无效.根据调试日志,任务设置为enabled = False首次检索,我想知道为什么.
添加周期性任务并[1, False]作为位置参数传递时,任务会自动禁用,我看不到任何进一步的输出.如果在没有参数的情况下添加任务,则会执行任务,但会立即引发异常,因为我没有提供所需的参数(有意义).
有谁看到这里的问题是什么?
提前致谢.
这是提供参数后的输出:
[DEBUG/Beat] SELECT "djcelery_periodictask"."id", [...]
FROM "djcelery_periodictask"
WHERE "djcelery_periodictask"."enabled" = true ; args=(True,)
[DEBUG/Beat] SELECT "djcelery_intervalschedule"."id", [...]
FROM "djcelery_intervalschedule"
WHERE "djcelery_intervalschedule"."id" = 3 ; args=(3,)
[DEBUG/Beat] SELECT (1) AS "a"
FROM "djcelery_periodictask"
WHERE "djcelery_periodictask"."id" = 3 LIMIT 1; args=(3,)
[DEBUG/Beat] UPDATE "djcelery_periodictask"
SET "name" = E'<taskname>', "task" = E'<task.module.path>',
"interval_id" = 3, "crontab_id" = NULL,
"args" = E'[1, False,]', "kwargs" = E'{}', "queue" = NULL,
"exchange" = NULL, "routing_key" = NULL,
"expires" = NULL, "enabled" = false,
"last_run_at" = E'2011-05-25 00:45:23.242387', "total_run_count" = 9,
"date_changed" = E'2011-05-25 09:28:06.201148'
WHERE "djcelery_periodictask"."id" = 3;
args=(
u'<periodic-task-name>', u'<task.module.path>',
3, u'[1, False,]', u'{}',
False, u'2011-05-25 00:45:23.242387', 9,
u'2011-05-25 09:28:06.201148', 3
)
[DEBUG/Beat] Current schedule:
<ModelEntry: celery.backend_cleanup celery.backend_cleanup(*[], **{}) {<crontab: 0 4 * (m/h/d)>}
[DEBUG/Beat] Celerybeat: Waking up in 5.00 seconds.
Run Code Online (Sandbox Code Playgroud)
编辑: 它适用于以下设置.我仍然不知道为什么它不适用于django-celery.
CELERYBEAT_SCHEDULE = {
"example": {
"task": "<task.module.path>",
"schedule": crontab(),
"args": (1, False)
},
}
Run Code Online (Sandbox Code Playgroud)
小智 15
我遇到过同样的问题.确保参数是JSON格式的.例如,尝试将位置参数设置为[1,false] - 小写"false" - 我只是在django-celery实例(版本2.2.4)上测试它并且它工作正常.
对于关键字args,请使用{"name":"aldarund"}之类的内容
我也遇到了同样的问题.
通过djcelery中的PeriodicTask模型("JSON编码位置参数")的描述,与Evan回答相同.我尝试在保存之前使用python json lib进行编码.
这与我合作
import json
o = PeriodicTask()
o.kwargs = json.dumps({'myargs': 'hello'})
o.save()
Run Code Online (Sandbox Code Playgroud)
芹菜版3.0.11
| 归档时间: |
|
| 查看次数: |
3695 次 |
| 最近记录: |