带有redis的优先级消息队列

pyrediq的Python项目详细描述


https://circleci.com/gh/okomestudio/pyrediq/tree/development.svg?style=shieldhttps://coveralls.io/repos/github/okomestudio/pyrediq/badge.svg?branch=development

除虫菊

pyridiq(py re ddi ck)是一个python(2.7)库,提供 使用Redis实现优先级消息队列。信息 负载由MessagePack序列化。

pyrediq是根据MIT License (MIT)授权的。

基本用法

importredisfrompyrediqimportPriorityQueue,QueueEmptyredis_conn=redis.StrictRedis()# create a queuequeue=PriorityQueue('myqueue',redis_conn)# enqueue a message to the queuequeue.put({'mykey':'myvalue'},priority=-1)# create a consumerwithqueue.consumer()asconsumer:try:msg=consumer.get(block=False)exceptQueueEmpty:raisesuccess=do_task(msg.payload)# the message is either acked or rejected after task is done.# a rejected message can optionally be requeuedifsuccess:consumer.ack(msg)else:consumer.reject(msg,requeue=True)queue.close()

要从队列中删除所有消息并删除队列本身,请运行 priorityqueue.purge方法:

queue.purge()

安装

要使用pip安装pyrediq,请在shell上运行此命令:

pip install pyrediq

要使用pyrediq,需要在 电脑。例如,在一个debian框上,运行这个命令应该 足够:

sudo apt-get install redis-server

有关安装,请参考official Redis distribution site 程序。

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

推荐PyPI第三方库


热门话题
java文件分块,获取长度字节   java嵌入式Tomcat不执行jsf页面   java我的数据库中有2个实体,但hibernate返回其中6个。   java如何基于逗号拆分字符串   java取消已经运行的CompletableFutures的预期模式是什么   java如何在informix中从另一个数据库复制表ddl和数据   为什么图片是黑色的?   java根据字符串数组中的单词筛选列表   Java8的集合。平行流有效吗?   Kotlin中的java静态内部类   java如何在GUI中生成一列字符串   javafx如何正确使用高对比度主题?   带空格的javascript Httpurlconnection参数   java如何设置GridBagLayout的约束   java如何在一个线程可能尚未初始化时关闭另一个线程   java将简单时间格式转换为特殊时间格式(hhmmt)   安卓/java阵列重复过滤器的问题   java在队列的链接实现下,入队和出队是如何工作的   java更新sql外键约束