如何使用Celery在DRF(Django rest framework)中提高服务器并发实现

一、原理

Celery组成部分
首先图片中的客户端代表需要提高并发的服务器,Broker队列通常保存任务,一般使用Redis/RabbitMQ实现,任务处理者便是Celery实例了
如图:celery客户端遇到耗时操作任务的时候,直接将任务发送到Broker(中间人)来协client(任务的发出者)和worker(任务的处理者)。需要注意的是,Celery在DRF中是以单独的应用出现的,拥有自己的空间,一旦client将任务推送Broker,client就会处理其他请求,完成高度并发并不等待client用户io操作。

二、实现

首先我们得安装Celery应用
我们可以使用python的包管理器pip来安装:

pip install -U Celery

也可从官方直接下载安装包:Celery官网

tar xvfz celery-0.0.0.tar.gz
cd celery-0.0.0
python setup.py build
python setup.py install

1、搭建Celery应用

我们要在项目的同级目录搭建新的独立的Celery应用,首先我们需要创建一个celery_tasks的包,并在celery_tasks/目录下创建main.py作为Celery的启动文件,创建config.py作为Celery的配置文件。同时把我们需要处理的业务(以msg发送短信为例)放到celery_tasks/下,并为其创建tasks.py。注意tasks.py不允许重命名。最终的目录搭建结构如下图
Celery基本目录结构

2、main.py

from celery import Celery

# 为celery使用django配置文件进行设置,根
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值