Django中celery的使用

一、celery的使用

celery架构图(核心):

在这里插入图片描述

1.1 使用场景及安装

使用celery,主要有以下几种情况
- 定时任务
- 延迟任务
- 异步任务

使用命令安装
pip install celery

官方使用django-celery的文档:
https://docs.celeryq.dev/en/main/django/first-steps-with-django.html#using-celery-with-django

1.2在项目路径下创建celery.py

import os
from celery import Celery

# 1 导入django的配置文件(可以在WSGI中找到)---》后续在celery的任务中,就可以直接使用django的orm,缓存
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'TB_test.settings')
# 2 实例化得到celery对象
app = Celery('myproj')
# 3 celery的配置,使用django 配置文件中的配置--》刚刚写的配置
app.config_from_object('django.conf:settings')

# 4 这句话会去所有app中,自动查找 tasks.py 文件,作为任务文件
app.autodiscover_tasks()

在这里插入图片描述

1.3 django的配置文件settings.py

############# celery的配置信息######
#1 Broker配置,使用Redis作为消息中间件
BROKER_URL = 'redis://127.0.0.1:6379/1'
#2 BACKEND配置,使用redis
RESULT_BACKEND = 'redis://127.0.0.1:6379/2'
#3 序列化方案--》json
ACCEPT_CONTENT = ['json']
TASK_SERIALIZER = 'json'
# 结果序列化方案
RESULT_SERIALIZER = 'json'

# 4 任务结果过期时间,秒
TASK_RESULT_EXPIRES = 60 * 60 * 24

#5 时区配置
TIMEZONE = 'Asia/Shanghai'

在这里插入图片描述

1.4 在不同app中,创建tasks.py

from celery import shared_task

# 任务函数
@shared_task
def add(a, b):
    return a + b

在这里插入图片描述

1.5 在项目目录下的 init.py中进行配置

加入以下代码

from .celery import app as celery_app

__all__ = ('celery_app',)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ILUUSION_S

我在成都没饭吃😭

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值