Celery的使用(2)---从配置开始

前言

上文中我们将配置直接设置在了tasks.py中:

tasks.py
from celery import Celery
app = Celery('tasks', broker='redis://:password@host:port/database_num',backend='redis://:password@host:port/database_num')
#第一个次数‘tasks’是当前模块的名字,第二个参数是broker代理的url,这里选用了redis

这样的做法适合于小项目,如果想规范化的话还是建议单独存放在一个配置文件中。

开始配置

配置文件化的好处是容易管理,可以增加复用率,不然每个tasks.py文件中你都写一遍冗长的redis、MQ的url,一方面麻烦,另一方面容易泄露一些敏感字段。

配置文件化

这时我们可以在与tasks.py 同级的目录下新建一个celeryconfig.py的文件,文件名并不是指定的,可以任意取,但是最好能一眼就能看出它的功能。
打开celeryconfig.py,我们开始将tasks.py中的broker和backend信息搬到配置文件中,接下介绍一下用到的两个配置,有些配置celery4.x和老版本有一些区别,有区别的在后面已注释:

broker的url
CELERY_BROKER_URL='redis://:password@host:port/database_num' ##4.x之前用这个
BROKER_URL = 'redis://:password@host:port/database_num' ##4.x之后用这个
接受结果的url
CELERY_RESULT_BACKEND = 'redis://:password@host:port/database_num'

此时,celeryconfig.py文件内容如下:

CELERY_BROKER_URL='redis://:password@host:port/database_num'
CELERY_RESULT_BACKEND = 'redis://:password@host:port/database_num'

相应的我们将tasks.py中的内容也做一些调整:

from celery import Celery
app = Celery("tasks")
app.config_from_object('celeryconfig', namespace='CELERY')

可以看出,配置信息已经没有在task.py中出现,内容已减少,看着没那么乱了,创建celery实例也只用传递一个参数,与此同时,我们引入了一个新的函数:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值