美文网首页
部署celery

部署celery

作者: 阿不不坏 | 来源:发表于2017-08-09 13:20 被阅读0次

    一、Celery介绍和基本使用

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

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

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

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

    1.1 Celery有以下优点:

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

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

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

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

    Celery基本工作流程图

    首先安装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

    将第一句话改成图片中内容,这样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

          本文链接:https://www.haomeiwen.com/subject/xvmnkxtx.html