django芹菜定期任务报告未注册的任务

时间:2015-10-14 09:12:49

标签: django celery

我正在使用django-celery来实现流动doc的定期任务。我开始了芹菜工作并成功击败了:

[tasks]

  . scheduler.tasks.test

计划程序是我的应用程序的名称。我在scheduler.tasks.py中配置任务并将定期任务保存在我的view.py中。但是在我发送HTTP requset来创建周期性任务之后,celery beat报告了这样的错误:

Traceback (most recent call last):
File "/myhome/lib/python2.7/site-packages/celery/worker/consumer.py", line 455, in on_task_received strategies[name](message, body,
KeyError: u'<@task: scheduler.tasks.test of myproj:0x7f8847449910>'

我用Google搜索并找到了一些关于相关导入问题的答案,但错误消息中的任务名称与已注册任务的任务名称相同。

还有什么问题?

编辑:

已注册的scheduler.tasks.test的另一个证据是,如果我调用test.delay()而不是使其成为定期任务,则可以成功处理它。

1 个答案:

答案 0 :(得分:0)

问题解决了。

注册的任务是scheduler.tasks.test,但是从词典中找到任务的关键是KeyError: u'<@task: scheduler.tasks.test of myproj:0x7f8847449910>'。也就是说,键是一个字符串,但是给它一个对象的unicode。

因此,请记住使用与键相同的字符串来查找任务。