Django项目中使用celery

本文详细介绍了如何在Django项目中使用Celery进行异步任务处理,包括安装库、配置settings.py、创建celery_app、定义任务以及启动步骤。
一、安装库
pip install celery
二、配置

在 settings.py 中添加下列配置项:

# celery 配置
CELERY_BROKER_URL = 'redis://host:6379/15'  # Broker配置,使用Redis作为消息中间件
CELERY_RESULT_BACKEND = 'redis://host:6379/15'  # BACKEND配置,这里使用redis
CELERY_RESULT_SERIALIZER = 'json'  # 结果序列化方案
CELERY_TIMEZONE = 'Asia/Shanghai'
三、创建celery_app
  • 在与项目同名的目录下创建 celery.py 文件,并编写下面的代码
import os
from celery import Celery
from __future__ import absolute_import, unicode_literals

os.environ.setdefault('DJANGO_SETTINGS_MODULE', '项目名.settings')  # 设置django环境

app = Celery('项目名')

app.config_from_object('django.conf:settings', namespace='CELERY')  # 使用CELERY_ 作为前缀,在settings中写配置

app.autodiscover_tasks()  # 发现任务文件每个app下的task.py
  • 在与项目同名的目录下的 init.py 文件中添加下面的代码
from __future__ import absolute_import, unicode_literals
from .celery import app as celery_app
__all__ = ['celery_app']
四、添加任务

在需要进行异步任务处理的模块中创建 tasks.py 文件,并实现任务函数

from celery import shared_task

@shared_task
def async_func():
    pass
五、 启动
celery multi start w1 -A myproject -l info --logfile=celery.log --pidfile=celery.pid
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值