基于redis的分布式消息队列

styx的Python项目详细描述


styx是一个简单的库,它将一堆独立的Redis服务器转变为一个强大的分布式队列。 redis服务器不需要任何特殊配置,甚至不需要以任何方式了解彼此。这些信息排列松散。 可以找到Java版本here。Java和Python版本是兼容的,即消息 一个客户端发布的内容可以被另一个客户端读取。

安装

pipinstallstyx

快速启动

#!/usr/bin/env python# encoding: utf-8importstyx# Define the Redis host locations (the default port is 6379)hosts=["redis1.example.com","redis2.example.com:8080","redis3.example.com"]connection=styx.Styx(hosts,db=3)# default db is 0# If a queue doesn't exist, it will be created automaticallyq=connection.get_queue("myTestQueue")q.put("Hello")q.put("World")q.put("Message1234")q.get()# returns "Hello"q.get()# returns "World"# Check how many messages are left in the queueq.size()# returns 1# Delete this queueconnection.delete_queue(q)

单元测试

要运行单元测试,请确保有3个redis实例在本地主机上的6700、6701、6702端口上运行。

pip install nose
nosetests

github上提供的源代码:http://github.com/abh1nav/styx-python/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Eclipse中使用多个调用在一行上打印java   javajackson序列化问题。只有同一实体的第一个对象可以很好地序列化   Java中Deflate函数的等价充气   使用customlitview的java Android actionbar搜索   java“<T>T get()”是什么意思?(它有用吗?)   目标c使用CommonCrypto使用AES256加密,使用OpenSSL或Java解密   java在运行时更新资源文件   fileinputstream在java中访问并将数据写入现有文件   带集群的java Android Mapbox我希望每个功能都有不同的标记图像   java JDK8>JDK10:PKIX路径生成失败:SunCertPathBuilderException:找不到请求目标的有效证书路径   java使用Hk2生成具有指定构造函数参数的实例   为什么这个系统。出来Java中的println()打印到控制台?   java目录和文件名连接不起作用   使用mockito和通配符绘图的java