背景
django要是针对上传文件等需要异步操作的场景时,celery是一个非常不错的选择。笔者的项目就是使用了这个组合,这里就做一个备忘吧。
安装RabbitMQ
这个安装及使用我已经在前一篇文档中介绍过了,需要的朋友请翻阅我的前一篇文章。这里只需要记住,celery要是使用rabbitMQ的话,需要启动服务的。
具体方法:
rabbitmq-server /usr/local/etc/redis.conf
celert的安装和使用:
这个在我的前面文章中也做了记录,想知道的朋友请看前面的文章。这里只需要知道,在django服务启动之后,才可以启动celery,启动命令如下:
celery -A myapp worker -l info
django下使用celery的步骤
这里有几个地方需要注意一下:
- 工程目录下新建:celery.py
- 同目录下__init__.py文件下增加celery的引用
- app中添加tasks.py 并添加内容
- view视图中触发任务
详细的步骤参考:经典案例
备注
django使用,先启动rabbitmq: rabbitmq-server /usr/local/etc/redis.conf
启动django的服务:python manger.py runserver
启动celery客户端;celery -A myapp worker -l info
参考文档
参考文档:经典案例