简介:
celery是一个分布式队列的管理工具,提供了快速管理和操作分布式任务队列的一些方法的框架

特点:
1、celery易于使用和维护,不需要进行很复杂的配置,简单的celery例子:

from celery import Celery
app = Celery('hello', broker='redis://:password@ip:port/database') @app.task
def hello():
return 'hello world'

2、高可靠性:程序和客户端具有失去连接进行重新尝试连接的特性,一些中间键有HA特性(hadoop主节点热备),常用的中间键有redis、 RabbitMQ 等
3、速度快:单一的一个celery进程可以在一分钟内执行数百万个任务
4、灵活性高:几乎所有的celery类都可以被继承,或者被调用;可使用框架包括: implementations, serializers, compression schemes, logging, schedulers, consumers, producers, broker transports等

支持的框架和数据库等:
1、信息传输:RabbitMQ, Redis, Amazon SQS
2、并发框架:Prefork, Eventlet, gevent, single threaded (solo)
3、结果存储:AMQP, Redis;memcached;SQLAlchemy, Django ORM;Apache Cassandra, IronCache, Elasticsearch
4、序列化格式:pickle, json, yaml, msgpack;zlib, bzip2 compression;Cryptographic message signing

支持的一些框架集合:

以上的这些框架并不是必须,但是这些框架能使开发更加的方便,并且有些框架提供了一些钩子用来连接和关闭数据库等

安装:
支持pip安装,一键搞定:pip install -U Celery

安装依赖:
当用pip安装celery报错的时候,可以试一下
$ pip install "celery[librabbitmq]"
$ pip install "celery[librabbitmq,redis,auth,msgpack]"

使用redis作为中间人:

安装:
使用Redis作为Broker时,再安装一个celery-with-redis
pip install -U "celery[redis]"

配置redis的地址:
参数的顺序是固定的
redis://:password@hostname:port/db_number
例如:
app.conf.broker_url ='redis://:password@ip:port/database'

设置超时时间:
两个响应之间的超时时间,单位s;redis默认的超时时间是3600s
例如:
app.conf.broker_transport_options = {'visibility_timeout': 3600} # 1 hour.

结果数据存储:
如果想把下载的数据同样存储在redis中,需要下面的配置:
app.conf.result_backend='redis://:password@ip:port/database'

账户设置:
播放的信息默认情况会被所有的虚拟主机接收,用下面得参数可以设置播放信息只会被运行中的用户接收
app.conf.broker_transport_options = {'fanout_prefix': True}

这样设置之后就能与没有进行该设置和老版本的worker进行通信了

启动:

celery -A server worker --loglevel=info

server出现如下错误

办法:设置如下属性
export C_FORCE_ROOT="true"
再次启动:
celery -A server worker --loglevel=info

celery_01 _celery安装启动的更多相关文章

  1. postman使用之一:安装启动篇

    官网介绍:http://www.getpostman.com/docs/ postman是干什么的就不介绍了,本文从postman的安装开始介绍,后续会有其它使用的介绍. 安装: 1.mac app安 ...

  2. MySQL 安装 启动 基本语法概述

    MySQL 安装 启动 基本语法概述 MySQL安装和配置 我是直接使用安装包:mysql-installer-community-5.6.10.1.msi 安装的时候其中有几点要注意: 1.记住端口 ...

  3. MySQL 安装 启动命令总结

    MySQL 安装 启动 基本语法概述 MySQL安装和配置 我是直接使用安装包:mysql-installer-community-5.6.10.1.msi 安装的时候其中有几点要注意: 1.记住端口 ...

  4. mysql安装启动教程(两种方法)

    mysql安装启动: 方法一(简单版): cmd进入mysql安装的bin目录:mysqld.exe –install net start mysql  服务启动(或者选择计算机->(右键)管理 ...

  5. Ubuntu 安装启动Tomcat

    首先下载ubuntu 的tar包 官网: http://tomcat.apache.org/download-80.cgi 安装启动 1 .下载对应的tar 2 .解压任意文件夹下,更改名字tomca ...

  6. windows服务安装启动报错误1053:服务没有及时响应启动或控制请求

    <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0&qu ...

  7. postman 第1节 安装启动(转)

    安装: 1.mac app安装 浏览器访问https://www.getpostman.com/apps,选择Get the Mac App,下载安装即可 2.chrome app安装 浏览器访问ht ...

  8. mongodb在windows下安装启动

    mongodb安装 mongodb配置 创建几个文件夹具体如下:数据库路径(\data\db\目录).日志路径(\data\log\目录)和日志文件(mongod.log文件)c:\data\log\ ...

  9. 提示“Web打印服务CLodop未安装启动”的各种原因和解决方法

    旧版提示:"CLodop云打印服务(localhost本地)未安装启动!"新版提示:"Web打印服务CLodop未安装启动,点击这里下载执行安装(若此前已安装过,可点这里 ...

随机推荐

  1. 【Android Widget】1.TextView

    1.创建可被点击的TextView 1.1 在xml中创建可被点击的TextView android:autoLink 是否将符合指定格式的文本转换成可单击的超链接. 属性值可以是如下几个属性值的一个 ...

  2. Docker - 终端交互

    进入容器交互终端 使用docker attach命令进入容器交互终端. 注意:如果多个窗口同时attach到同一个容器,那么所有窗口都会同步显示.如果某个窗口因命令阻塞时,那么其他窗口将无法执行操作. ...

  3. poj1125 Stockbroker Grapevine Floyd

    题目链接:http://poj.org/problem?id=1125 主要是读懂题意 然后就很简单了 floyd算法的应用 代码: #include<iostream> #include ...

  4. [ERR] Node 172.168.63.202:7001 is not empty. Either the nodealready knows other nodes (check with CLUSTER NODES) or contains some

    关于启动redis集群时: [ERR] Node 172.168.63.202:7001 is not empty. Either the nodealready knows other nodes ...

  5. .net数据统计系统设计(中小型)

    近一年多没在博客园写东西了,从换公司后就一直努力学习公司的框架和业务.而今接手一个电商数据统计项目,在博客园搜索统计项目解决方案却一无所获,最终自己设计并在开发的过程中持续更新,希望可以和大家一起交流 ...

  6. flask-login ----系统权限设计部分小结

    tips: 事实证明.开发是一项苦力活.但是代码只有自己写的才是令人感到放心的.不过仅仅是从开发角度来说.从维护和安全角度来说,当然还是引入模块比较爽 但是引入的模块总会有一些问题.碰到的最大问题就是 ...

  7. AlertDialog的写法

    public void onItemClick(AdapterView<?> parent, View view, int position,long id) { AlertDialog. ...

  8. 我必须得告诉大家的MySQL优化原理

    本文转载自http://www.jianshu.com/p/d7665192aaaf 说起MySQL的查询优化,相信大家积累一堆技巧:不能使用SELECT *.不使用NULL字段.合理创建索引.为字段 ...

  9. CoreCLR源码探索(六) NullReferenceException是如何发生的

    NullReferenceException可能是.Net程序员遇到最多的例外了, 这个例外发生的如此频繁, 以至于人们付出了巨大的努力来使用各种特性和约束试图防止它发生, 但时至今日它仍然让很多程序 ...

  10. Unity应用架构设计(10)——绕不开的协程和多线程(Part 2)

    在上一回合谈到,客户端应用程序的所有操作都在主线程上进行,所以一些比较耗时的操作可以在异步线程上去进行,充分利用CPU的性能来达到程序的最佳性能.对于Unity而言,又提供了另外一种『异步』的概念,就 ...