django 加 celery 异步任务配置到成功运行

       这两天在看celery怎样在django上搭建,网上各种各样的教程看了不少,有的很详细,有的根本就用不上,这里说下我的配置,也是从网上东拉西找配好的,还没有弄很明白,但是可以运行,菜鸡,请勿嘲笑。 

      这里就不说celery运行原理什么的,网上也挺多的,个人觉得既然都找用法了,怎么运行的应该差不多清楚了,直接上配置吧。

 先说下我遇到的问题吧,很容易忽略的问题:

1,rabbitmq 一定要启动服务,不然连接不上rmq数据库; rabbitmq-server start  

2,在与manage.py 同级目录下启动 celery的 worker 

celery worker -A 项目名 --loglevel=info   注意:是项目名,用tasks,或者在app下启动的话worker会报未注册错误

 

 

首先,在项目根目录,也就是settings同级目录的 __init__.py , 内容如下:

 django 加 celery 异步任务配置到成功运行_第1张图片

settings.py  内容:因为实验了好多,最后突然发现就加了一个,dn 在我项目里是app的名字

django 加 celery 异步任务配置到成功运行_第2张图片

还是根目录下,也就是和__init__.py, settings.py 同级,新建celery.py 文件,不创建的话  __init__.py 的导入会报错。

下面是celery.py 内容,项目名改下可以直接用。celery.py 在于settings.py 同级目录

django 加 celery 异步任务配置到成功运行_第3张图片

以上,根目录处配置完成。

项目app目录下配置

首先创建tasks.py 大家应该都知道,这里面写要用时间比较多的逻辑,让主进程不用等待执行,下面是配置,我也不是很清楚这些是不是都要写上,这里要说的是,我用的broker 是rabbitmq,我觉得比较方便,rabbitmq-server start 启动服务之后就可以直接用,一定要启动rmq服务,不然会报连接不上数据库错误。

django 加 celery 异步任务配置到成功运行_第4张图片

views.py 里面,调用异步的方法时:直接 方法.delay() ()里面加上参数执行即可。

以上,就是我所作的配置就全部完成,因为我用的数据库是mongo,也不用迁移,比较方便,网上看的其他的好像需要迁移。

我的pip list

django 加 celery 异步任务配置到成功运行_第5张图片

还有值得一提的是如果你的项目不是正常启动,你要用启动项目的方式启动worker,如果是,就当我没说。

以后的项目进行中还会记录。

你可能感兴趣的:(django 加 celery 异步任务配置到成功运行)