Celeryconfig配置文件

Celery配置文件

本篇介绍Celery配置文件相关,celeryconfig.py

Celeryconfig.py

在上篇celery基础用法中,是这样使用celery的实例化的。

python 复制代码
# tasks.py   文件名需与实例化对象第一个参数一致
import time
from celery import Celery

redis_url = 'redis://Password@IP:port/0'
rabbitmq_host = 'amqp://Uername:Password@IP:Port//v_host'

# 实例化Celery对象
app = Celery('tasks', # 同当前模块名
             broker= rabbitmq_host, # 消息中间件URL,此处使用RabbitMQ,也可使用Redis
             backend= redis_url, # 后端结果存储,使用Redis进行存放
             )

但在项目中,肯定是希望能将配置项统一管理,方便设置。

在celery中,可以使用专用配置模块,针对 Celery 进行配置,编写celeryconfig.py文件并确保它在 Python 路径上可用。

  • celeryconfig.py文件
python 复制代码
# celeryconfig.py

# 消息中间件地址,示例为RabbitMQ格式
BROKER_URL = 'amqp://username:password@host:port/'
# 后端存储地址,示例为Redis格式
CELERY_RESULT_BACKEND = 'redis://:password@ip:port/0'
# 默认序列化方法,可选pickle(默认)、json、yaml、msgpack等
CELERY_TASK_SERIALIZER = 'json'
# 默认结果序列化方法
CELERY_RESULT_SERIALIZER = 'json'
# 允许的内容类型/序列化程序的白名单。
CELERY_ACCEPT_CONTENT = ['json']
# 将 Celery 配置为使用自定义时区。 
CELERY_TIMEZONE = 'Asia/Shanghai'
# 默认启用UTC时区
CELERY_ENABLE_UTC = True
# 表示后端结果18000秒后删除,值为None或0表示永不过期
CELERY_TASK_RESULT_EXPIRES = 18000  # 5 hours.
  • 改写tasks.py文件
python 复制代码
import time
from celery import Celery

app = Celery('tasks')
# 读取celeryconfig.py配置文件
app.config_from_object('celeryconfig')

@app.task
def add(x, y):
    print("start...")
    time.sleep(5)
    print("end...")
    return x + y
  • 运行

    成功运行,可以看到Broker地址,后端Redis结果地址都是从配置项读取的。
相关推荐
luckys.one1 小时前
第9篇:Freqtrade量化交易之config.json 基础入门与初始化
javascript·数据库·python·mysql·算法·json·区块链
TomCode先生1 小时前
c#动态树形表达式详解
开发语言·c#
高-老师2 小时前
基于R语言的物种气候生态位动态量化与分布特征模拟
开发语言·r语言·物种气候
大翻哥哥2 小时前
Python 2025:量化金融与智能交易的新纪元
开发语言·python·金融
weixin_437830943 小时前
使用冰狐智能辅助实现图形列表自动点击:OCR与HID技术详解
开发语言·javascript·ocr
鹿鹿学长3 小时前
2025年全国大学生数学建模竞赛(C题) 建模解析|婴儿染色体数学建模|小鹿学长带队指引全代码文章与思路
c语言·开发语言·数学建模
zhousenshan3 小时前
Python爬虫常用框架
开发语言·爬虫·python
IMER SIMPLE4 小时前
人工智能-python-深度学习-经典神经网络AlexNet
人工智能·python·深度学习
CodeCraft Studio4 小时前
国产化Word处理组件Spire.DOC教程:使用 Python 将 Markdown 转换为 HTML 的详细教程
python·html·word·markdown·国产化·spire.doc·文档格式转换
DKPT4 小时前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习