Django定时器Celery+Redis(二)Celery配置和任务模块化

本文介绍了如何在Django项目中实现Celery的配置分离和任务模块化,包括创建celery实例、配置文件、任务模块和测试。详细讲解了每个模块的内容和作用,如__init__.py、application.py、config.py、tasks.py和test.py,并提供了运行测试的方法。通过这种方式,便于管理和维护复杂的Celery任务。
摘要由CSDN通过智能技术生成

序言

       在上一篇博客中记录了Celery的安装及初步简单使用,如果需要请前往查看,本文在上一篇的环境基础上继续记录Celery的配置使用及配置分离。前一篇博客的例子是将Celery的实例配置和任务都写在了tasks.py的python文件中,这在多模块任务或者大型项目(需要自定义很多的Celery配置)中就不太方便,我们把配置和任务及测试都分离出来,这样我们要修改其中某一个配置就可以直接去配置文件中找。接下来我们将Celery的配置独立于一个文件,任务也独立于一个文件。
  
       再啰嗦一下安装的环境版本:

  • system:Ubuntu 16.04
  • python:Python 3.5.2
  • celery:4.2.0
  • redis:2.10.6
文件目录

       新建一个command文件夹(我的目录为/home/youjun/celery/command),其中的目录结构如下:

celery/
|-- command/
|-- |-- __init__.py
|-- |-- application.py
|-- |-- config.py
|-- |-- tasks.py
|-- |-- test.py

       注意:官网中说明了在你先写好的celery程序包下必须包含一个celery.py的文件,由于我们运行(ctr+alt+t打开终端,进入celery程序包所在目录,例如我的是:cd /home/youjun/celery,然后执行启动命令celery -A command worker --loglevel=info,command即为我们写好的celery程序包)的时候,celery会去寻找command下的celery.py模块开始运行,如果没有这个模块,那么就会报错了。我们这里没有celery.py文件,那么也有对应的解决办法(后面说明)。

模块
__init__模块
  • 内容

       在__init__.py文件中写入如下内容:

# -*- coding: utf-8 -*-
# ----------------------------------------------
# @Time    : 18-8-23 上午10:00
# @Author  : YYJ
# @File    : __init__.py.py
# @CopyRight: ZDWL
# ----------------------------------------------
import command.application as celery


__all__ = ('celery', 'config', 'tasks')

  • 说明

       前面说了在command下必须有一个celery.py模块,我们这里没有,用的是applica

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值