
1 guoqiao Jul 15, 2014 via iPhone 定时任务直接用cron做最方便 |
2 no13bus OP 我在python manage.py shell里面手动执行的时候 是可以执行任务队列的,但是celery -A proj beat开启定时任务就是说我没有注册任务 |
5 messense Jul 15, 2014 用 Linux 自带的 crontab 比 Celery 的要精准得多吧。 |
6 no13bus OP @messense crontab不知道怎么和django交互。就用celery得了。现在就是发愁为什么说我注册不了那个tasks。以及django怎么和celery交互数据库。 |
7 20150517 Jul 15, 2014 正常,就是因为你没用celery版django才出这个的错误的 |
8 qdvictory Jul 15, 2014 |
9 messense Jul 15, 2014 @no13bus 写个 management command 提交任务给 celery 就行了。交互数据库和直接在 Django 中调用没什么差别吧。 按照官方文档,设置好 DJANGO_SETTINGS_MODULE 应该就可以了吧。 https://github.com/celery/celery/blob/3.1/examples/django/proj/celery.py |
10 aggron Jul 15, 2014 via Android CELERYBEAT_SCHEDULE放在tasks.py中, app.conf.update( CELERYBEAT_SCHEDULE=... ) 没用过django-celery |
11 no13bus OP @messense @qdvictory @20150517 你说的是django-celery这个插件吗?我在python manage.py shell里面手动执行的时候 是可以执行任务队列的,但是celery -A proj beat开启定时任务就是说我没有注册任务。我基本上就是按照https://github.com/celery/celery/blob/3.1/examples/django/proj/celery.py来配置的。只是改了app = Celery('btcproject',broker='redis://localhost:6379/0',backend='redis://localhost') 这个是我的settings https://gist.github.com/no13bus/7500b6bfe7a4d9e1bbc3 是settings的问题? |
12 ernest Jul 15, 2014 via Android |
13 wibile Jul 15, 2014 应该不是setting问题,运行celery -A proj worker -l info看注册的tasks,是否和你beat里的一致,注意是个字符串,不同运行目录会注册不同的tasks名称,如:tasks.add或者xxx.tasks.add。 |
15 no13bus OP |
16 no13bus OP |
17 messense Jul 16, 2014 @no13bus crontab 自己就是个定时任务嘛,而且系统级的精确度上应该也更高些,crontab 提交任务给 celery,celery 只要去执行就行了不用考虑定时的问题。 |
18 guoqiao Jul 16, 2014 |