zoukankan      html  css  js  c++  java
  • Celery底层原理

    Celery的底层原理(透彻一些)?

    celery是基于python实现的一个异步任务的调度工具,同时还是一个任务队列,主要用于处理耗时的任务。架构如下:

     

       celery架构由三个模块组成:消息中间件(message broker),任务执行单元(worker)和任务执行结果存储(task result store)组成。

    消息中间件(Broker): 消息中间人,是任务调度队列,是一个独立的服务,是一个生产者消费者模式,生产者把任务放入队列中,消费者(worker)从任务队列中取出任务执行,任务的执行可以按照顺序依次执行也可以按照计划时间进行。但是Broker本身不提供队列服务,所以要集成第三方队列,推荐使用RatbbitMQ或Redis.

    任务执行单元(worker):即执行任务的程序,可以有多个并发。它实时监控消息队列,获取队列中调度的任务,并执行它。

    任务执行结果存储(task result store):由于任务的执行同主程序分开,如果主程序想获取任务执行的结果,就必须通过中间件存储。同消息中间人一样,存储也可以使用RabbitMQRedis另外,假如不需要保存执行的结果也可以不配置这个模块。

     

    更对内容参考:

    http://docs.celeryproject.org/en/latest/getting-started/introduction.html

     

  • 相关阅读:
    编译安装LEMP
    eAccelerator配置和使用指南
    /dev/null的用途
    分库分表
    JVM
    SOFA 数据透析
    HTTPS
    SOFA 通信
    分布式锁
    mysql 锁
  • 原文地址:https://www.cnblogs.com/pythonlyz/p/10325640.html
Copyright © 2011-2022 走看看