Priority message queue with Redis
Project description
pyrediq
pyrediq (py-re-ddi-ck) is a Python (2.7) library providing an implementation of priority messaging queue using Redis. The message payload is serialized by MessagePack.
pyrediq is licensed under the MIT License (MIT).
Basic Usage
import redis
from pyrediq import PriorityQueue, QueueEmpty
redis_conn = redis.StrictRedis()
# create a queue
queue = PriorityQueue('myqueue', redis_conn)
# enqueue a message to the queue
queue.put({'mykey': 'myvalue'}, priority=-1)
# create a consumer
with queue.consumer() as consumer:
try:
msg = consumer.get(block=False)
except QueueEmpty:
raise
success = do_task(msg.payload)
# the message is either acked or rejected after task is done.
# a rejected message can optionally be requeued
if success:
consumer.ack(msg)
else:
consumer.reject(msg, requeue=True)
To remove all message from a queue and remove the queue itself, run PriorityQueue.purge method:
queue.purge()
Installation
To install pyrediq using pip, run this command on the shell:
pip install pyrediq
To use pyrediq, Redis needs to be installed and running on the computer. For example, on a Debian box, running this command should suffice:
sudo apt-get install redis-server
Consult the official Redis distribution site for the install procedure.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pyrediq-0.2.0.tar.gz
.
File metadata
- Download URL: pyrediq-0.2.0.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2b25ab5f857099793480a13aa95b80fb1ccc12fcc5a0e274d77afdf9ce43fab |
|
MD5 | 185cb175ec00fa3b835d1f91f7ab8f10 |
|
BLAKE2b-256 | 950b6e1971afef168d20f14581885fa21524eb22360995f96ccb38a40860b9c2 |