美文网首页
Celery学习笔记

Celery学习笔记

作者: lijun_m | 来源:发表于2017-11-21 22:33 被阅读0次

        Celery 是一个由 Python 编写的简单、灵活、可靠的用来处理大量信息的分布式系统,它同时提供操作和维护分布式系统所需的工具。

        Celery 专注于实时任务处理,支持任务调度。

        说白了,它是一个分布式队列的管理工具,我们可以用 Celery 提供的接口快速实现并管理一个分布式的任务队列。

(Celery 本身不是任务队列,它是管理分布式任务队列的工具,或者换一种说法,它封装好了操作常见任务队列的各种操作,我们用它可以快速进行任务队列的使用与管理,当然你也可以自己看 rabbitmq 等队列的文档然后自己实现相关操作都是没有问题的。)


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


消息中间件

        Celery本身不提供消息服务,但是可以方便的和第三方提供的消息中间件集成。包括,RabbitMQ, Redis, MongoDB (experimental), Amazon SQS (experimental),CouchDB (experimental), SQLAlchemy (experimental),Django ORM (experimental), IronMQ

任务执行单元

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

任务结果存储

        Task result store用来存储Worker执行的任务的结果,Celery支持以不同方式存储任务的结果,包括AMQP, Redis,memcached, MongoDB,SQLAlchemy, Django ORM,Apache Cassandra, IronCache


定义一个task

from  celery  import  Celery

app = Celery('tasks', backend='amqp://guest@localhost//', broker='amqp://guest@localhost//')

@app.task

def  add(x, y):

    return  x + y

其中,broker 就是中间件了;backend就是后端来发送状态消息,保持追踪任务的状态,存储或发送这些状态


相关文章

  • Celery学习笔记

    Celery 是一个由 Python 编写的简单、灵活、可靠的用来处理大量信息的分布式系统,它同时提供操作和维护分...

  • celery学习笔记

    Celery 标签(空格分隔): celery Celery是一个分布式任务队列工具,是一个异步的任务队列基于分布...

  • celery学习笔记

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

  • celery学习笔记

    ceelry是一个专注于实时处理和任务调度的分布式任务队列。 使用celery的常见场景如下: web应用。当用户...

  • Celery 框架学习笔记

    在学习Celery之前,我先简单的去了解了一下什么是生产者消费者模式。 生产者消费者模式 在实际的软件开发过程中,...

  • Celery学习笔记(一)

    Tips:在学习Celery过程中,使用的系统为Windows 10、Celery版本为3.1.18①、中间人使用...

  • Celery全面学习笔记

    来源 https://blog.51cto.com/steed/2292346?source=dra 介绍 讲师的...

  • Python celery 学习笔记

    概述    celery是一个python实现的分布式任务执行框架,本文为学习笔记: python 3.8.6 c...

  • Celery 进阶学习

    Celery 进阶学习 参考链接: Celery 4.1.0 documentation 初始文件 安装部署cel...

  • celery笔记

    作者:刘宾, thomas_liub@hotmail.com 请尊重作者著作权,转载请注明出处,谢谢! 分布式任...

网友评论

      本文标题:Celery学习笔记

      本文链接:https://www.haomeiwen.com/subject/gatgvxtx.html