celery-redis的安装和使用

python的代码,想使用中间件来传递数据,开始想用qpid,但qpid在python上的性能不咋地,吞吐量才2000条/秒(C的可以达到几万条/秒)。所以打想用celery试试,完全0起点,记录一下安装和使用的过程,做个备忘。

先到celery的官网学习安装:http://celery.github.com/celery/getting-started/first-steps-with-celery.html#first-steps

(英文不好的可以用必应翻译网页看)

第一步,安装Redis:

要选择一个broker,我打算使用Redis,所以首先要安装Redis,参考http://baike.baidu.com/view/4595959.htm

按照Redis的安装步骤,在Redis/src路径下make不成功,显示缺少tclsh8.5,那就安装这个东西,步骤如下:

cd /opt

wget http://downloads.sourceforge.net/tcl/tcl8.5.11-src.tar.gz

或者
wget ftp : //mirror.ovh.net/gentoo-distfiles/distfiles/tcl8.5.11-src.tar.gz
或者在网页上下载下来tcl8.5.11-src.tar.gz,再拷贝到服务器的opt目录下。
 
tar xvfz tcl8 . 5.11 - src .tar .gz
cd tcl8 . 5.11 / unix
. / configure
make
make install
 
再在Redis/src路径下make就通过了。Redis安装完毕。在src目录下运行./redis-server 即可启动Redis。
 
第二步,celery-with-redis:
根据celery的官网的描述,我们可以通过安装celery-with-redis把Celery和支持Redis的依赖项一起安装。
安装完可以在python中写示例代码。如果用的是eclipse,不能import celery(示例官网示例代码中是Celery,而新版本是小写的c),记得更新一下eclipse的库,
方法是在eclipse中点击Project->properties->PyDev-Interpreter/Grammar->Check here to configure an interpreter not listed,在对话框左边点击PyDev->Editer->interpreter-pyhon,再在右边点击Remove,Autoconfig。
 
第三步,编写tasks.py 、 celeryconfig.py和test.py:
tasks.py:

import celery

@celery.task
def add(x, y): 
    pass 

 

celeryconfig.py:(IP写redis服务的机器IP,如果是本机就写localhost)

BROKER_URL = "redis://172.XX.XX.XX:6379/0"

CELERY_IMPORTS = ("tasks.add", )

 

test:

from tasks import add
if __name__ == '__main__':
    for i in range(100):
        for j in range(100):
            add.delay(i, j)

运行test.py就可以了。如果服务器有保护,需要将端口6379手动开一下。

你可能感兴趣的:(celery-redis的安装和使用)