门户网站举例/哪里有网络推广
认识Celery
Celery是什么?
Celery 是一个由 Python 编写的简单、灵活、可靠的用来处理大量信息的分布式系统,它同时提供操作和维护分布式系统所需的工具。
Celery 专注于实时任务处理,支持任务调度。
说白了,它是一个分布式队列的管理工具,我们可以用 Celery 提供的接口快速实现并管理一个分布式的任务队列。
官网对Celery的简介
Celery: Distributed Task Queue
Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.
The execution units, called tasks, are executed concurrently on a single or more worker servers using multiprocessing, Eventlet, or gevent. Tasks can execute asynchronously (in the background) or synchronously (wait until ready).
Celery is used in production systems to process millions of tasks a day.
解释
Celery: 分布式任务队列
Celery是基于分布式消息传递的异步任务队列/作业队列。它专注于实时操作,但也支持调度。
执行单元称为任务,在使用多处理,Eventlet或gevent的单个或多个工作服务器上同时执行。任务可以异步执行(在后台)或同步执行(等待直到准备就绪)。
Celery生产系统中用于每天处理数百万个任务。
Celery相关概念
开始Celery前需要先了解一些基本的概念
Brokers
队列本身,排队的任务需要有地方存储,如:Redis
Celery基本处理流程:生产任务——>队列(Brokers)——>消费任务
常见的 brokers 有 RabbitMQ、Redis、Amazon SQS、Zookeeper
Result Stores / backend
Celery处理完任务后存储结果的地方(Result Stores),让任务发送者知道该结果。
Celery内置存储方式:SQLAlchemy / Django ORM, Memcached,Redis,RPC(RabbitMQ / AMQP),或者也可以定义自己的
Workers
从队列取出任务并执行
Tasks
任务本身
Celery基本使用
安装Redis服务:
https://redis.io/download
安装celery:
安装flower:
celery可视化管理工具
目录
创建服务
创建task
至此,broker、backend、task已经配置完成,在根目录运行命令:
运行结果:
celery已经运行起来了,为了便于任务的查看,再运行flower,任务运行可视化!
运行flower
运行结果:
打开网址即可查看任务执行情况:http://localhost:5555
当然,现在还没有任务,接下来开始生产任务
执行脚本触发任务
等待处理完成,
flower可以查看任务处理情况!
至此,简单的celery应用即完成咯!
(完)