码迷,mamicode.com
首页 > 编程语言 > 详细

43. Python celery简介

时间:2017-12-20 03:40:43      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:python celery

Celery异步分布式

什么是celery?

他是一个python开发的异步分布式任务调度模块

celery本身不提供消息服务,使用第三方服务,也就是broker来传递任务,目前支持rabbitmq,redis,数据库等等。

我们使用redis

连接URL的格式为:

    redis://:password@hostname:port/db_number

例如:

    BROKER_URL='redis://localhost:6379/0'


过程如图示

技术分享图片

在python里面如果用到异步分布式,首先想到celery

安装celery

pip install celery
pip install redis      #之前讲过

在服务器上安装redis服务器,并启动redis

第一个简单的例子:

[root@localhost celery]# cat lili.py
#/usr/bin/env python
#-*- coding:utf-8 -*-
from celery import Celery
broker="redis://192.168.48.131:6379/5"
backend="redis://192.168.48.131:6379/6"
app = Celery("lili", broker=broker, backend=backend)

@app.task
def add(x, y):
    return x+y

启动:

# celery -A lili worker -l info

调用:

# cat demo2.py
#!/usr/bin/python
#-*- coding:utf-8 -*-
from  lili  import  add
import time
a = add.delay(10, 20)
print (a)			##返回异步分布式的对象
print (type(a))
time.sleep(1)
print (a.result)  		##返回调用的值
print (a.status) 		##返回状态
print (a.get(timeout=3))        ##获得值
print (a.ready())		#是否处理,返回 True 为处理完成


43. Python celery简介

标签:python celery

原文地址:http://blog.51cto.com/286577399/2052240

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