Eric Redis queues documentation#
A Redis implementation of persistence layer of eric-sse:
An example of microservice based on this project
Also here there is a simple flow for testing purposes
Reference#
- class RedisConnection#
Bases:
objectRedisConnection(host: str = ‘127.0.0.1’, port: int = 6379, db: int = 0)
- class AbstractRedisQueue#
-
- __init__(redis_connection, queue_id=None)#
- Parameters:
redis_connection (RedisConnection)
queue_id (str | None)
- class RedisQueue#
Bases:
AbstractRedisQueue- pop()#
Next message from the queue.
Raises a
NoMessagesExceptionif the queue is empty.- Return type:
Any | None
- class BlockingRedisQueue#
Bases:
AbstractRedisQueueImplements 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 RedisStorage#
Bases:
KvStorage- __init__(prefix, redis_connection)#
- Parameters:
prefix (str)
redis_connection (RedisConnection)
- class RedisListenerRepository#
Bases:
ListenerRepositoryInterface- __init__(redis_connection)#
- Parameters:
redis_connection (RedisConnection)
- load(connection_id)#
Loads a listener given the connection id it belongs to.
- Parameters:
connection_id (str)
- Return type:
- persist(connection_id, listener)#
Persists listener and assign to connection.
- Parameters:
connection_id (str)
listener (MessageQueueListener)
- class AbstractRedisConnectionFactory#
Bases:
ConnectionsFactory,ABC- __init__(redis_connection)#
- Parameters:
redis_connection (RedisConnection)
- class RedisConnectionFactory#
Bases:
AbstractRedisConnectionFactory- create(listener=None)#
Creates a connection
- Parameters:
listener (MessageQueueListener) – If provided, assigns a concrete listener
- Return type:
- class RedisBlockingQueuesConnectionFactory#
Bases:
AbstractRedisConnectionFactory- create(listener=None)#
Creates a connection
- Parameters:
listener (MessageQueueListener) – If provided, assigns a concrete listener
- Return type:
- class RedisQueuesRepository#
Bases:
QueueRepositoryInterface- __init__(redis_connection)#
- Parameters:
redis_connection (RedisConnection)
- load(connection_id)#
Loads a queue given the connection id it belongs to.
- Parameters:
connection_id (str)
- Return type:
- persist(connection_id, queue)#
Persists queue and assign to connection.
- Parameters:
connection_id (str)
queue (AbstractRedisQueue)
- class RedisConnectionRepository#
Bases:
ConnectionRepository- __init__(redis_connection)#
- Parameters:
redis_connection (RedisConnection)
- class RedisSSEChannelRepository#
Bases:
SSEChannelRepository- __init__(redis_connection)#
- Parameters:
redis_connection (RedisConnection)
- class RedisSSEChannelBlockingQueuesRepository#
Bases:
SSEChannelRepository- __init__(redis_connection)#
- Parameters:
redis_connection (RedisConnection)