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

分布式任务队列:Celery

时间:2017-12-21 20:45:15      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:back   安装   模块   函数   odi   redis   def   body   依次   

一、Celery 安装与应用

关于 Celery 的内容,先依次看如下两篇文章,让你有个了解:

http://blog.csdn.net/happyanger6/article/details/51404837

https://www.liaoxuefeng.com/article/00137760323922531a8582c08814fb09e9930cede45e3cc000

1、安装 Celery 和 Redis

pip install celery    # 这里我的 python 版本是 python2.7 ,如果是 2.6 的版本,请使用 pip install celery==3.0 来安装
pip install redis # redis 作为中间人,用于接收和发送消息

2、编写一个 celery 应用程序,用来处理任务

[root@localhost ~]# cat task.py 
#!/usr/bin/env python
#-*- coding: utf8 -*-

from celery import Celery

app = Celery("task", broker="redis://127.0.0.1:6379/5", backend="redis://127.0.0.1:6379/6") # 启动一个Celery实例,第一个参数是本模块的名字,第二个参数用于指定中间人的URL,第三个参数用于存储任务的处理结果,5和6表示使用redis的第五和第六个库

@app
.task # 添加一个程序,这个程序用来处理用户发过来的任务 def add(x, y): # 定义程序,这里我就定义一个加法运算的程序 return x+y

3、启动 Celery 处理任务

[root@localhost ~]# celery -A task worker --loglevel=info    # -A参数用于指定程序,worker表示在后台运行,--loglevel表示运行的日志等级

4、发送任务给 Celery 进行处理

In [1]: from task import add

In [2]: add.delay(2, 3)    # 相当于执行了add()函数,执行后的结果只能在celery控制台看到
Out[2]: <AsyncResult: 6e5b23d6-f3ba-48ed-8007-d41520830410>

In [3]: add.delay(5, 10)
Out[3]: <AsyncResult: f5e51094-af6c-447c-ae6e-e07b02ae6983>

 

二、Celery 多实例

 

 

 

       

 

 

 

 

 

      

 

分布式任务队列:Celery

标签:back   安装   模块   函数   odi   redis   def   body   依次   

原文地址:http://www.cnblogs.com/pzk7788/p/8082285.html

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