前言
在Celery4.0之前的版本中,有一个专门供Django使用的Celery版本django-celery.但现在Celery已经统一为一个版本,所以直接安装原生的Celery即可。这里就暂时不说Celery的使用方法了,改天专门写。今天只说说django-celery-results。
作用
这个扩展允许您使用Django ORM存储Celery任务结果。
它定义了一个用于存储任务结果的模型(django_celery_results.models.TaskResult),您可以像查询其他Django模型一样查询这个数据库表。
安装
直接pip安装:
pip install django-celery-results```
源码安装:从[GitHub](http://pypi.python.org/pypi/django-celery-results)下载最新版本的django-celery-results,然后通过执行以下操作来安装它
$ tar xvfz django-celery-results-0.0.0.tar.gz
$ cd django-celery-results-0.0.0
$ python setup.py build`
迁移---坑王驾到
一般建议python manage.py migrate django_celery_results
,但我个人建议还是先python manage.py makemigrations
,然后再migrate。如果顺利的话,那肯定是美滋滋,但问题是不顺利(悲痛的表情)
我自己遇到的问题如下:
迁移文件有错,然后本人就习惯性的打开了百度。各种关键词搜索,发现竟然没有答案。然后就突然顿悟了,我还是自己盘他吧。然后又仔细的看了一遍这个错误,发现他告诉我的是依赖项引用不存在的父节点
,然后我就打开了这个文件,我的路径是C:\Python27\Lib\site-packages\django_celery_results\migrations\出错的文件
果不其然,与Error一样,然后我就好奇。。。然后我应该干啥呢(又一个悲痛的表情),突然我又顿悟了我还是去GitHub吧,真的发现了一个相似的问题,虽然她告诉的解决方法,对我没用,但她说明了原因。
然后,我就尝试着吧,celery_results
改成了django_celery_results
,然后保存文件,重新执行python mange.py meigrate。这次竟然没报错,但给了一个非常有用的警告,给了一条命令。
然后,就将这条命令跑了一边,然后执行了一次migrate,就成功了,成功了。
问题很多,更多的问题,可以去GitHub公开的问题上看看有没有相似的。
总结
道路千万条, 零错第一条。 百度没答案, 想想别的法