带有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无法在三星A5上使用Toast(2016年)   java处理阻止图像在选择其他图像时消失   java Install4j Linux应用程序   swing在jpanel form java上具有暂停/恢复按钮   java Log4J登录年份文件夹   java XmlPullParser资源管理   JavaGoogleCloudEndpoints方法总是导致NullPointerException,为什么?   java JSON到带有POJO和Enum的Spring控制器   java制作自定义名称生成器?   java仅在设备屏幕的特定部分显示google地图多段线   java图像没有重新绘制,只是相乘   java如何将格式化字符串转换为浮点?   java无法提前很长时间安排TimerTask   当引用函数::和时,java Intellij IDEA无法解析“和”函数接口方法   java结束了dowhile循环   java Spring路径变量绑定   log4j API中FileAppender中的java问题   java使用QMessageBox从选项列表中进行选择