Eric Redis queues documentation#
A Redis implementation of persistence layer of eric-sse:
An example of microservice based on this project
Reference#
- class AbstractRedisQueue#
Bases:
PersistableQueue
,ABC
- property kv_value_as_dict#
Returns value that will be persisted as a dictionary.
- class RedisQueue#
Bases:
AbstractRedisQueue
- pop()#
Next message from the queue.
Raises a
NoMessagesException
if the queue is empty.- Return type:
Any | None
- class BlockingRedisQueue#
Bases:
RedisQueue
Implements a blocking queue. See pop() documentation
- pop()#
Behaviour relies on https://redis.io/docs/latest/commands/blpop/ , so calls to it with block program execution until a new message is pushed.
- Return type:
Any | None
- class AbstractRedisConnectionRepository#
Bases:
ConnectionRepositoryInterface
,ABC
- __init__(host='127.0.0.1', port=6379, db=0)#
- abstract create_queue(listener_id)#
Returns a concrete Queue instance.
- Parameters:
listener_id (str) – Corresponding listener id
- Return type:
- load_all()#
Returns an Iterable of all persisted connections
- Return type:
- class RedisConnectionsRepository#
- class RedisBlockingQueuesRepository#
- class RedisSSEChannelRepository#
Bases:
ChannelRepositoryInterface
- __init__(host='127.0.0.1', port=6379, db=0, connection_factory='eric_redis_queues.RedisConnectionsRepository')#
- Parameters:
host
port
db
connection_factory (str) – Connection factory name to use to connect to Redis. Accepted literals are ‘RedisConnectionsRepository’ and ‘RedisBlockingQueuesRepository’
- load()#
Returns all channels from the repository.
- Return type: