关于 django 和 celery 执行定时任务的问题。

2014-07-15 16:47:59 +08:00
 no13bus
网站基本框架就是有2个定时任务。第一个定时任务会从mysql里面根据当前登录用户id取得其数据表A里面的值,然后进行一些逻辑计算,然后发起网络请求。第二个定时任务也是这样,只是要将计算结果存入mysql数据库。
django项目的结构和这里的一样。项目名称是proj 。app名称是demoapp
http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html#using-celery-with-django
settings.py 里面加了下面的代码
from datetime import timedelta
CELERYBEAT_SCHEDULE = {
'add-every-30-seconds': {
'task': 'tasks.add',
'schedule': timedelta(seconds=6),
'args': (1,2)
},
}
celery的broker和backend都是用的redis。
然后运行celery -A proj worker -l info开启队列
然后运行celery -A proj beat开启定时任务。
但是开启定时后,总是说我Received unregistered task of type 'tasks.add'.
难道是我setting里面的设置问题吗?我没有用django-celery
10933 次点击
所在节点    问与答
21 条回复
no13bus
2014-07-17 08:30:56 +08:00
@messense 我知道了,解决了,是tornado版本太低,2.2,改成3就好了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/122758

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX