• Celery Bo7


    一.Celery的工作机制

    1.1 什么是Celery

    Celery是一个简单,灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度

    Celery的架构由三部分组成 1.消息中间件 2.任务执行单元 3.任务执行结果存储 组成 

    消息中间件

    Celery本身不提供消息服务,但是可以方便和第三方提供的消息中间件集成 如:Redis

    任务执行单元

    Worker是Celery提供的任务执行的单元,worker并发的运行在分布式的系统节点中

    任务执行结果存储

    它是用来存储worker执行结果的任务的 Celery支持以不同的方式存储任务的结果 如:Redis,AMQP

    过程(图片解释)

    模拟场景:
    比如现在有一个需要 用户下单完成后需要给用户发送已完成下单消息
    首先用户下单后把结果返回到user(相当于django) 把需要发送短信的任务放到AMQP(消息队列) Celery进行拉取并通过异步的方式发送短信(如果不用Celery也可以用网络编程中的进程,线程,协程来处理此业务 但比较复杂需要考虑的东西比较多) 发送短信完成后放到task result store中 如果需要给用户返回结果就到task result store中提取并返回给用户 不需要则无需提取
    View Code

    1.2使用场景

    celery是一个强大的 分布式任务队列的异步处理框架, 它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行. 我们通常使用它来实现异步任务和定时任务

    异步任务: 将耗时操作任务交给Celery去异步执行,使用场景(发短信/邮箱/消息推送/音频率等等)

    定时任务: 定时执行某件事情,比如每天数据统计

    Celery的优点:1.简单 2.使用维护都很简单,并且不需要配置文件 3.高可用 4.快速灵活

  • 相关阅读:
    mysql 查看表注解
    oracle 相关
    sql version control
    ccna
    msql 清库
    mybatisplus,application.properties 配置数据库密码加密
    驱动开发print无法输出问题
    bochs帮助
    以虚御虚用虚拟机调试vt程式
    ssm整合
  • 原文地址:https://www.cnblogs.com/whc6/p/15902010.html
Copyright © 2020-2023  润新知