前言
在django项目中,使用celery异步执行任务,以及创建定时任务。
使用redis作为中间件,用supervisor管理进程。
Begin
当前路径
创建虚拟环境
有关virtualenv的讲解,可查看
http://blog.csdn.net/win_turn/article/details/60466451
virtualenv win
进入虚拟环境
source win/bin/activate
安装package
建议先配置一下pip的国内镜像
http://blog.csdn.net/win_turn/article/details/59733715
pip install -r requirements.txt
#文件requirements.txt的内容
amqp==2.1.4
beautifulsoup4==4.5.3
billiard==3.5.0.2
celery==4.0.2
Django==1.10.6
kombu==4.0.2
lxml==3.7.3
pytz==2016.10
redis==2.10.5
requests==2.13.0
vine==1.1.3
创建django项目和应用
django-admin startproject pro
cd pro/
django-admin startapp wechat
当前目录结构
配置django
vi pro/settings.py
INSTALLED_APPS中添加新增的app
在文件末尾添加celery配置
CELERYD_LOG_FILE
是celery worker的日志文件
CELERYBEAT_LOG_FILE
是celery beat的日志文件
2017年3月20日更新
今天进行数据迁移时发现个问题,一直没有celery日志文件。
后来才发现,原来CELERYD_LOG_FILE
和CELERYBEAT_LOG_FILE
已经在4.0版本中不再支持了。改用参数-f
指定日志文件。
创建init_celery.py
vi pro/init_celery.py
修改init.py
为了确保在django启动时加载了celery应用,修改init.py文件
vi pro/__init__.py
2017年10月2日增加
将下图中第5行的from .celery import … 改为 from .init_celery import …
当前目录结构