码迷,mamicode.com
首页 > 其他好文 > 详细

celery 入门

时间:2015-12-19 20:37:45      阅读:389      评论:0      收藏:0      [点我收藏+]

标签:

什么是 celery

技术分享

celery 是一个分布式异步任务队列

分布式是说可以部署在不同的物理机上,实现集群

异步是说任务是异步执行的

技术分享

架构如图:3部分, 消息队列,  worker 进程,  执行结果存储

用户就不停的往消息队列中扔 task, 多个workers 并行的从消息队列中取出  task 执行, 执行完毕后将执行状态和结果存入后端

中间的 workers 可以在一台物理机上,也可以在多台物理机上

本机演示:

from celery import Celery

app = Celery(tasks, backend=redis://localhost, broker=redis://localhost:6379/0)

@app.task
def add(x,y):
    return x + y
celery -A tasks worker --loglevel=info

技术分享 

app : 运行的 app 的名字

transport : 消息队列,这里使用 redis

results: 后端结果存储,这里也使用 redis

concurrency : 通过 prefork (多进程)默认最多会起 4 个worker 进程并行执行,默认是 CPU 的核心数。

当任务数大于 4 时 未执行的任务会进入任务队列排队等待执行。

queues: 任务队列, 可以有多个任务队列, 可以把不同类型的消息放入不同的队列中。

 

celery 入门

标签:

原文地址:http://www.cnblogs.com/lesliefang/p/5059625.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!