序言
在上一篇博客中记录了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