Light and fast ordered message queue for Python3, leveraging Redis lists. Uses MessagePack for efficient message serialization.
pip3 install pyredq
import pyredq
queue = pyredq.RedisQueue()
queue.put("queue1", "a message")
import pyredq
queue = pyredq.RedisQueue()
def handler(message):
print(message)
# "a message"
queue.subscribe("queue1", handler)
Subscribe also works in the background (non-blocking):
queue.subscribe("queue1", handler, background=True)
# Do other stuff
pyredq.RedisQueue()
takes standard Redis client parameters as arguments, such as:
queue = pyredq.RedisQueue(host="redis", port=6379, db=0, socket_timeout=0.2, retry_on_timeout=True)