分布式和非分布式系统中具有redis超能力的轻量级队列接口

pimpamqueues的Python项目详细描述


PIMPAMQUEUES

具有redis超级功能的轻量级队列接口

Build statusLatest VersionSupported Python versions

说明

pimpamqueues提供了简单、轻量级的python接口,可以与分布式系统上的队列交互。

要求

功能

  • 支持Python2.7、3.4和3.5。
  • 提供用于创建不同类型队列的超级简单队列接口。
  • 设计用于分布式系统-也适用于非分布式系统。

队列接口

  • 简单的队列,只是一个普通的队列。
  • BucketQueue,具有极快速元素存在搜索法的唯一元素无序队列。
  • 智能队列,将已排队的元素存储在队列旁边,以便不再对相同的传入元素进行排队的队列。

安装

pip

对于pip安装,只要pip install pimpamqueues

$ pip install pimpamqueues

使用量

简单化
>>> from pimpamqueues.simplequeue import SimpleQueue
>>> queue= SimpleQueue(id_args=['simplequeue'])
>>> queue.num()0
>>> queue.push('egg')1
>>> queue.push_some(['bacon', 'spam'])3
>>> queue.num()3
>>> queue.pop()
b'egg'
>>> queue.is_empty()
False
>>> queue.push('spam', to_first=True)3
>>> queue.elements()[b'spam', b'bacon', b'spam']
>>> queue.pop()
b'spam'
>>> queue.elements()[b'bacon', b'spam']
...

布基队列
>>> from pimpamqueues.bucketqueue import BucketQueue
>>> queue= BucketQueue(id_args=['bucketqueue'])
>>> queue.num()0
>>> queue.push('egg')'egg'
>>> queue.push_some(['bacon', 'spam'])[b'bacon', b'spam']
>>> queue.num()3
>>> queue.pop()
b'spam'
>>> queue.is_empty()
False
>>> queue.push('spam')'spam'
>>> queue.elements(){b'bacon', b'egg', b'spam'}
>>> queue.pop()
b'spam'
>>> queue.elements(){b'bacon', b'egg'}
...

智能队列

>>> from pimpamqueues.smartqueue import SmartQueue
>>> queue= SmartQueue(id_args=['smartqueue'])
>>> queue.num()0
>>> queue.push('egg')'egg'
>>> queue.push_some(['bacon', 'spam'])[b'bacon', b'spam']
>>> queue.num()3
>>> queue.pop()
b'egg'
>>> queue.is_empty()
False
>>> queue.push('spam', to_first=True)''
>>> queue.elements()[b'bacon', b'spam']
>>> queue.pop()
b'bacon'
>>> queue.elements()[b'spam']
>>> queue.push('spam', force=True)'spam'
>>> queue.push_some(['spam', 'spam'], force=True)[b'spam', b'spam']
>>> queue.elements()[b'spam', b'spam', b'spam', b'spam']
...

历史记录

1.0.1(2015-01-28)

  • 包含了python所需的包以解决安装依赖关系。

1.0.0(2015-01-27)

  • 你好,皮姆帕姆奎尔斯。

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

推荐PyPI第三方库


热门话题
java ProcessBuilder在使用多个参数时运行不正常   java如何使用Spring数据ORM/JPA创建EntityManagerFactory?   将Velocity宏转换为Java指令   internet上的Java TCP/IP服务器客户端通信   java为什么JDK 8允许一个局部内部类(在方法内部)访问封闭方法的非最终局部变量?   基于Java的比率算法   java应用程序在选择列表首选项时出错   java保存对象以供以后使用   java如何使用MySQL JDBC驱动程序连接Android和MySQL   java Zipkin可以用于控制台应用程序   java单击刷新Servlet页面显示重复内容   java如何递归地反转字符串数组?   java如何使用inputStream作为outputStream的文本?   java扩展令牌选择操作符   java在映射中使用通用枚举类   arraylist如何使用JAVA流从对象列表中查找平均值   windows将FileInputStream和FileOutputStream传递给ffmpeg进行转码(使用JAVEJava音频视频编码)   java Ant脚本在执行CVS签出后找不到目标   重复值情况下的java插入排序,双链表ADT   java如何在Accumulo中获取数据库查询计数