部署celery

一、Celery介绍和基本使用

Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery, 举几个实例场景中可用的例子:

你想对100台机器执行一条批量命令,可能会花很长时间 ,但你不想让你的程序等着结果返回,而是给你返回 一个任务ID,你过一段时间只需要拿着这个任务id就可以拿到任务执行结果, 在任务执行ing进行时,你可以继续做其它的事情。

你想做一个定时任务,比如每天检测一下你们所有客户的资料,如果发现今天 是客户的生日,就给他发个短信祝福

Celery 在执行任务时需要通过一个消息中间件来接收和发送任务消息,以及存储任务结果, 一般使用rabbitMQ or Redis,后面会讲

1.1 Celery有以下优点:

简单:一单熟悉了celery的工作流程后,配置和使用还是比较简单的

高可用:当任务执行失败或执行过程中发生连接中断,celery 会自动尝试重新执行任务

快速:一个单进程的celery每分钟可处理上百万个任务

灵活: 几乎celery的各个组件都可以被扩展及自定制

Celery基本工作流程图


部署celery_第1张图片

首先安装python 

安装python时候需要编译,用到configure 需要安装gcc

所以在安装python之前安装gcc :

执行yum install gcc-c++ 安装gcc

接下来安装python:

1. 首先,通过wget下载Python安装包

[root@TDDBA ~]# wget http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz

2. 解压该文件

[root@TDDBA python]# tar -zxvf Python-2.7.6.tgz

[root@TDDBA python]# ls

Python-2.7.6  Python-2.7.6.tgz

3. 配置安装路径

先创建路径 mkdir /usr/local/python2.7.6

[root@TDDBA Python-2.7.6]# ./configure --prefix=/usr/local/python2.7.6

4. 编译和安装

[root@TDDBA Python-2.7.6]# make

[root@TDDBA Python-2.7.6]# make install

5. 配置软链接

将原来的python路径mv到另一个路径

mv /bin/python /bin/old_python

[root@TDDBA /]# ln -s /usr/local/python2.7.6/bin/python /bin/python

这个时候在任何路径下输入python,都是新版本

[root@TDDBA /]# python

Python 2.7.6 (default, Mar 16 2013, 19:12:21)

[GCC 4.4.6 20120305 (Red Hat4.4.6-4)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>>

把yum中python的路径更改为old_python

打开yum配置文件

vi /usr/bin/yum


部署celery_第2张图片

将第一句话改成图片中内容,这样python就安装好了

安装setuptools

wget https://pypi.python.org/packages/source/s/setuptools/setuptools-18.0.1.zip --no-check-certificate

unzip setuptools-18.0.1.zip

cd setuptools-18.0.1

python setup.py install

安装如果报如下错误,因为zlib没有安装,执行下面两句

yum install zlib

yum install zlib-devel

安装好zlib之后,进入python源路径,重新进行以下操作:

make

make install

执行完成之后重新安装setuptools


安装pip

wget  https://pypi.python.org/packages/7e/71/3c6ece07a9a885650aa6607b0ebfdf6fc9a3ef8691c44b5e724e4eee7bf2/pip-7.1.0.tar.gz#md5=d935ee9146074b1d3f26c5f0acfd120e

下载之后

tar -zxvf pip-7.1.0

cd pip-7.1.0

python setup.py install

安装成功之后,同样进入python源路径,重新编译

make

make install

安装好之后,需要创建软链接,其他地方才可以用pip,

ln -s /usr/local/python2.7.6/bin/pip /bin/pip

我在安装好pip之后安装celery始终失败,在网上看了下说可以先把pip升级下,于是就升级了pip,由于pip是走国外的官网下载的 网速特别慢,所以需要设置下超时时间,具体命令:

pip install --default-timeout=1000 -U pip

安装成功

安装celery

因为我用的是redis,安装celery时,对 Redis 的支持需要额外的依赖。你可以用celery[redis]捆绑同时安装 Celery 和这些依赖:

$pip install --default-timeout=1000 -U celery[redis]==3.1.24

安装成功。

你可能感兴趣的:(部署celery)