Celery分布式任务队列
作者:互联网
Celery官方文档
Clery官方文档中文版
Celery简介
Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列
Celery异步任务框架
Celery提供异步任务框架,主要有以下三大功能:
1. 执行异步任务
2. 执行延迟任务
3. 执行定时任务
1.可以不依赖任何服务器,通过自身命令,启动服务(内部支持socket)
2.celery服务为为其他项目服务提供异步解决任务需求的
注:会有两个服务同时运行,一个是项目服务,一个是celery服务,项目服务将需要异步处理的任务交给celery服务,celery就会在需要时异步完成项目的需求
注意:
在Windows平台上运行Celery可能会有问题:
Celery is a project with minimal funding,
so we don’t support Microsoft Windows.
Please don’t open any issues related to that platform.
Celery架构
Celery的架构由三部分组成:
1. 消息中间件(message broker)、
2. 任务执行单元(worker)
3. 任务执行结果存储(task result store)组成
消息中间件:broker(需要使用第三方,redis,rabbitmq)
Celery本身不提供消息服务,但是可以方便的和第三方提供的消息中间件集成。包括,RabbitMQ, Redis等等
任务执行单元:worker(celery提供的)
Worker是Celery提供的任务执行的单元,worker并发的运行在分布式的系统节点中。
任务结果存储:backend(使用第三方)
Task result store用来存储Worker执行的任务的结果,Celery支持以不同方式存储任务的结果,包括AMQP, redis等
使用场景
异步执行:解决耗时任务,将耗时操作任务提交给Celery去异步执行,比如发送短信/邮件、消息推送、音视频处理等等
延迟执行:解决延迟任务
定时执行:解决周期(周期)任务,比如每天数据统计
Celery的使用
安装
pip install celery
标签:异步,服务,celery,队列,Celery,任务,执行,分布式 来源: https://www.cnblogs.com/yesirya/p/16362850.html