大虾

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在上一篇的简单示例中,我们将broker的配置入参到了Celery的实例化中,简单任务是可以的,复杂的任务,这样的写法不够美丽。celery提供了几种配置方法。

为了简要明了地展示,我们依然创建一个非常简单的celery项目,目录为:
celery_basic.py celery的初始化文件和消费者
celery_config.py celery的配置文件(celery的第二种配置方法所用)
do.py celery的生产者

第一种 使用app.conf.update()

从语法看,这个conf配置大概率是一个字典,调用字典的update方法即可加入新的配置。这个用法的重点是调用celery实例app的方法,那么可以在celery的初始文件中配置,也可以在独立文件中进行配置,只要能引用到app就可以了。

celery_basic.py 内容

import time
from celery import Celery

# 初始化一个celer实例
app = Celery('celery_demo')

# 配置方法1 使用app.conf的update方法更新配置字典
app.conf.update(
    broker_url = 'redis://127.0.0.1:6379/3',
    result_backend = 'redis://127.0.0.1:6379/4'
)


@app.task
def send_msg(msg):
    print('开始发送信息')
    time.sleep(5)
    print(f'{msg} - 信息发送完毕')

老规矩,celery -A celery_basic worker -l info -P eventlet 启动后,再执行do.py就可以了看到任务运转起来了。

第二种 使用app.config_from_object

11

posted on 2022-08-22 13:56  一灯编程  阅读(198)  评论(0编辑  收藏  举报