django使用celery定时任务,使用redis和supervisor。

本文介绍了如何在Django项目中使用Celery和Redis实现异步任务及定时任务,详细阐述了从创建虚拟环境、安装依赖到配置Django、创建Celery任务和使用Supervisor管理进程的全过程。并提供了相关日志管理和任务测试的步骤。
摘要由CSDN通过智能技术生成

前言

在django项目中,使用celery异步执行任务,以及创建定时任务。
使用redis作为中间件,用supervisor管理进程。

django项目代码
http://download.csdn.net/detail/win_turn/9772404

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_FILECELERYBEAT_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 …

这里写图片描述

当前目录结构

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值