Chinaunix首页 | 论坛 | 博客
  • 博客访问: 235674
  • 博文数量: 57
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 557
  • 用 户 组: 普通用户
  • 注册时间: 2015-10-01 18:05
文章分类

全部博文(57)

文章存档

2017年(57)

我的朋友

分类: Python/Ruby

2017-12-19 13:35:59

Celery 概念
Celery是一个python开发的异步分布式任务调度模块。
Celery本身并不提供消息服务,使用第三方服务,也就是borker来传递任务,目前支持rebbimq,redis, 数据库等。


这里我们使用redis

连接url的格式为:

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

例如:

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



安装celery
pip install celery
pip install redis

在服务器上安装redis服务器,并启动redis
第一个简单的例子:

点击(此处)折叠或打开

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # Author :Alvin.xie
  4. # @Time :2017-12-19 13:23
  5. # @file :3.py

  6. from celery import Celery
  7. broker="redis://10.89.3.1:6379/5"
  8. backend="redis://10.89.3.1:6379/6"
  9. app = Celery("ling", broker=broker, backend=backend)

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

启动worker

#celery -A ling worker -l info


生产者

form ling import add

re = add.delay(10, 20)

print(re.result)  #获取结果

print(re.ready)  #是否处理

print(re.get(timeout=1))  #获取结果

print(re.status)  #是否处理

















阅读(2029) | 评论(0) | 转发(0) |
0

上一篇:queue模块

下一篇:Celery异步分布式示例

给主人留下些什么吧!~~