celery 框架

celery 是一个基于分布式消息传输的异步任务队列,它专注于实时处理,同时也支持任务调度。

Producer: 调用了celery提供的API,函数或者装饰器而产生任务并交给 任务队列处理的都是任务生产者。

celery beat: 任务调度器,Beat进程会读取配置文件的内容,周期性地将配置中到期需要执行的任务发送给任务队列。

Broker:消息代理,又称消息中间件,接受任务生产者发送过来的任务消息,存进队列再按序分发给任务消费方。celery目前支持RabbitMQ, Redis, MongoDB, Beanstalk, SQLAlchemy, Zookeeper 等作为消息代理,但适用于生产环境的只有RabbitMQ 和 Redis, 官方推荐RabbitMQ

Celery Worker: 执行任务的消费者,通常会在多台服务器运行多个消费者来提高执行效率。

Result backend: 任务处理完后保存状态信息和结果,以供查询。Celery默认已支持Redis,RabbitMQ,MongoDB, Django ORM,SQLAlchemy 等方式。

工作原理:
它的基本工作就是管理分配任务到不同的服务器,并且取得结果。至于说服务器之间是如何通信的?这个celery本身不能解决。所以,RabbitMQ作为一个消息队列管理工具被引入到celery集成,负责处理服务器之间的通信任务。celery没有消息存储功能。他需要介质。比如RabbitMQ, Redis, MySQL, MongoDB都是可以的。

posted @   恰恰的故事  阅读(971)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示