celery 异步通信

celery 介绍

1.celery介绍:

  • celery 是一个功能完备,即插即用的任务队列
  • celery适合异步处理问题,例如 发送邮件,文件上传,图像处理等比较耗时的操作,将其异步执行,用户不用等太久,提高用户体验

2.celery 特点

  • 简单
    易于使用和维护,可以利用它只做一个最简单的应用程序
    使用celery的最简单的程序
  • 高度可用
    如果连接丢失或失败,工作人员和客户端将自动重试
  • 快速
    单个celery 进程每分钟可处理数百万个任务
  • 灵活
    几乎celery的每个部分都可以自行扩展或使用,自定义池实现,序列化器,压缩方案,日志记录,调度程序,消费者,生产者,代理传输等

3.celery组成结构

celery 由 broker(中间人),client(任务的发出者)和worker(任务的处理者)三部分组成
client 发出消息到队列中,broker将队列中的信息派发给worker处理
一个celery系统可以包含很多的worker 和broker,可增强横向扩展性和高可用性能

celery 完成发送短信

1.创建celery异步任务文件
2.创建应用对象/客户端/client

在celery_tasks目录下创建main.py,用于作为celery的启动文件:

from celery import Celery

#创建Celery对象
app = Celery(‘celery_tasks’)

#加载配置文件
app.config_from_object(‘celery_tasks.config’)

#自动加载任务
app.autodiscover_tasks([‘celery_tasks.sms’])

3.把redis数据库作为中间人broker
在celery_tasks目录下创建 config.py 文件,用于保存celery的配置信息
broker_url = “redis://127.0.0.1/14”
result_backend = “redis://127.0.0.1/15”

4.创建任务,并让celery检测
添加任务,在celery_tasks包中创建sms包,并创建tasks文件
创建的任务包中,文件名必须是tasks,因为celery在检测任务时,只识别tasks文件
创建的任务必须是celery的实例对象的tasks的装饰器装饰
创建任务,就是定义函数

5.创建worker
把worker创建到ubuntu虚拟机中,ubuntu作为Celery服务器
加载配置:为celery使用django配置文件进行设置
需要指令让Celery单独执行,在虚拟环境中执行
celery -A celery对象路径 worker -l info
celery -A celrery_tasks.main worker -l info

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值