3. Django 2.1.7 Celery 4.3.0 配置

2022-01-17 10:08:23 浏览数 (1)

上一篇中从介绍到入门已经讲解了Celery如何安装以及调用。本篇章来看看关于配置这块的内容。 ”

配置

Celery使用简单,配置也非常简单。Celery有很多配置选项能够使得celery能够符合我们的需要,但是默认的几项配置已经足够应付大多数应用场景了。

配置信息可以直接在app中设置,或者通过专有的配置模块来配置。

1.直接通过app来配置

代码语言:javascript复制
from celery import Celery

app = Celery(
    'celery_tasks.tasks',
    broker='redis://127.0.0.1:6379/8',
    backend='redis://127.0.0.1:6379/9',
)

还可以这样写,如下:

代码语言:javascript复制
from celery import Celery

app = Celery('celery_tasks.tasks')

# 增加配置
app.conf.update(
    result_backend='redis://127.0.0.1:6379/9',
    broker_url='redis://127.0.0.1:6379/8',
)

使用app.conf.update的方法更新配置的指定参数与前面的有些不一样。例如:前面写broker='redis://127.0.0.1:6379/8',,后面的配置写成broker_url='redis://127.0.0.1:6379/8',

2.专有配置文件

对于比较大的项目,我们建议配置信息作为一个单独的模块。我们可以通过调用app的函数来告诉Celery使用我们的配置模块。

配置模块的名字我们取名为celeryconfig, 这个名字不是固定的,我们可以任意取名,建议这么做。我们必须保证配置模块能够被导入。

下面我们在tasks.py模块 同级目录下创建配置模块celeryconfig.py:

代码语言:javascript复制
# 设置结果存储
result_backend='redis://127.0.0.1:6379/9'

# 设置代理人broker
broker_url='redis://127.0.0.1:6379/8'

tasks.py文件修改为:

代码语言:javascript复制
from celery import Celery
from . import celeryconfig # 导入配置文件

app = Celery('celery_tasks.tasks')

# 从单独的配置模块中加载配置
app.config_from_object(celeryconfig)

更多配置:

http://docs.celeryproject.org/en/latest/userguide/configuration.html#configuration

0 人点赞