阿小信大人的头像
Talk is cheap. Show me the code. Linus Torvalds

Basic Message Queue with Redis2018-05-14 17:21

使用redis实现任务队列,装饰器里面的delay函数返回一个类获取结果的类用的很巧妙。

......
#Python#   #queue #redis 评论[2]阅读全文[149]

Django中使用Celery+RabbitMQ实现异步处理2014-09-02 06:38

Celery是一个分布式的任务队列,需要用其他后端作为Broker来存储消息,可选的很多,Redis,Django ORM什么的都可以,默认是用RabbitMQ来作Broker的。RabbitMQ是一个消息队列系统。

其实rq更加简单易用。https://github.com/nvie/rq

#####安装

需要[安装RabbitMQ](http://ashin.sinaapp.com/article/134/)、Celery和Django-celery

Celery和Django-celery的安装直接pip就好

#####修改settings.py

在I

......
#Python#   #django #queue 评论[1]阅读全文[11094]

RabbitMQ中的RPC2014-09-02 06:37

RPC全称Remote Procedure Call。即client发送消息到队列,server从队列取出消息,经过处理后将结果再返回给client。RabbitMQ的Routing、Publish/Subscribe、Worker queue模式都没有返回信息的功能。

rpcclient.py

:::python
#!/usr/bin/env python
import pika
import uuid

class FibonacciRpcClient(object):
def __init__(self):

......
#Python#   #queue 评论[0]阅读全文[1722]

Hello World for RabbitMQ2014-09-02 06:37

#####下载安装
下载对应版本的RabbitMQ:http://www.rabbitmq.com/download.html
Ubuntu下载的deb安装后,RabbitMQ的Server已经在后台运行。
启动与停止server:

:::shell
$ sudo invoke-rc.d rabbitmq-server start | stop
$ sudo rabbitmq-server #运行
$ sudo rabbitmq-server -detached #后台运行
$ sudo rabbitmqctl stop #停止

......
#Python#   #queue 评论[0]阅读全文[1511]