首页 > 其他 > 详细

celery 入门

时间:2015-12-19 20:34:39      阅读:413      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!