---
layout: post
title: celery 笔记
tagline: python celery
category: null
tags: []
published: true

---
##简介## 
Celer（芹菜）是基于Python开发的分布式任务队列。它支持使用任务队列的方式在分布的机器／进程／线程上执行任务调度
![celery][1]
##使用场景##

Web应用。当用户触发的一个操作需要较长时间才能执行完成时，可以把它作为任务交给Celery去异步执行，执行完再返回给用户。这段时间用户不需要等待，提高了网站的整体吞吐量和响应时间。

定时任务。生产环境经常会跑一些定时任务。假如你有上千台的服务器、上千种任务，定时任务的管理很困难，Celery可以帮助我们快速在不同的机器设定不同种任务。

其他可以异步执行的任务。为了充分提高网站性能，对于请求和响应之外的那些不要求必须同步完成的附加工作都可以异步完成。比如发送短信/邮件、推送消息、清理/设置缓存等。

##最佳实践##
基于[ Best celery pratice][https://denibertovic.com/posts/celery-best-practices/]



[1]: http://static.open-open.com/lib/uploadImg/20150314/20150314100608_187.png "celery"

---
layout: post
title: celery 笔记
tagline: python celery
category: null
tags: []
published: true

---
##简介## 
Celer（芹菜）是基于Python开发的分布式任务队列。它支持使用任务队列的方式在分布的机器／进程／线程上执行任务调度
![celery][1]
##使用场景##

Web应用。当用户触发的一个操作需要较长时间才能执行完成时，可以把它作为任务交给Celery去异步执行，执行完再返回给用户。这段时间用户不需要等待，提高了网站的整体吞吐量和响应时间。

定时任务。生产环境经常会跑一些定时任务。假如你有上千台的服务器、上千种任务，定时任务的管理很困难，Celery可以帮助我们快速在不同的机器设定不同种任务。

其他可以异步执行的任务。为了充分提高网站性能，对于请求和响应之外的那些不要求必须同步完成的附加工作都可以异步完成。比如发送短信/邮件、推送消息、清理/设置缓存等。

##最佳实践##
基于[ Best celery pratice][https://denibertovic.com/posts/celery-best-practices/]

* 不要使用数据库做队列 broker,反复的轮询会拖慢整体性能
* 使用新的队列来区分不同的任务,并给予队列不同优先级
'''

'''



[1]: http://static.open-open.com/lib/uploadImg/20150314/20150314100608_187.png "celery"

Update by gitblog.io at 10/27/2016, 10:48:23 AM
Update by gitblog.io at 10/27/2016, 10:48:23 AM