Python celery原理及运行流程解析
celery简介
celery是一个基于分布式消息传输的异步任务队列,它专注于实时处理,同时也支持任务调度。它的执行单元为任务(task),利用多线程,如Eventlet,gevent等,它们能被并发地执行在单个或多个职程服务器(worker servers)上。任务能异步执行(后台运行)或同步执行(等待任务完成)。
在生产系统中,celery能够一天处理上百万的任务。它的完整架构图如下:
工作原理
它的基本工作就是管理分配任务到不同的服务器,并且取得结果。至于说服务器之间是如何进行通信的?这个Celery本身不能解决。所以,RabbitMQ作为一个消息队列管理工具被引入到和Celery集成,负责处理服务器之间的通信任务。和rabbitmq的关系只是在于,celery没有消息存储功能,他需要介质,比如rabbitmq、redis、mysql、mongodb 都是可以的。推荐使用rabbitmq,他的速度和可用性都很高。
Celery安装及使用
1、安装celery
pip install celery
2、查看完整可用命令选项
celery worker --help
3、创建一个工程项目project,然后再项目内创建一个celery_tasks异步任务列表。如图:
然后,我们运行app.py,app.py调用添加异步任务,输出的结果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持来客网。