haskell-bee-redis-0.1.0.0: Redis broker implementation for haskell-bee
Copyright(c) Gargantext 2024-Present
LicenseAGPL
Maintainergargantext@iscpif.fr
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

Async.Worker.Broker.Redis

Description

Based on lists: https:/redis.ioglossaryredis-queue

The design is as follows: - for each queue we have an 'id counter' - each queue is represented as a set of message ids - each message is stored under unique key, derived from its id - the above allows us to have an archive with messages - deleting a message means removing it's unique key from Redis

The queue itself is a list, the archive is a set (so that we can use SISMEMBER).

Synopsis

Documentation

data RedisBroker Source #

Instances

Instances details
(SerializableMessage a, Show a) => MessageBroker RedisBroker a Source # 
Instance details

Defined in Async.Worker.Broker.Redis

FromJSON (MessageId RedisBroker) Source # 
Instance details

Defined in Async.Worker.Broker.Redis

ToJSON (MessageId RedisBroker) Source # 
Instance details

Defined in Async.Worker.Broker.Redis

Show (MessageId RedisBroker) Source # 
Instance details

Defined in Async.Worker.Broker.Redis

Eq (MessageId RedisBroker) Source # 
Instance details

Defined in Async.Worker.Broker.Redis

Ord (MessageId RedisBroker) Source # 
Instance details

Defined in Async.Worker.Broker.Redis

Show a => Show (BrokerMessage RedisBroker a) Source # 
Instance details

Defined in Async.Worker.Broker.Redis

data Broker RedisBroker a Source # 
Instance details

Defined in Async.Worker.Broker.Redis

data BrokerInitParams RedisBroker a Source # 
Instance details

Defined in Async.Worker.Broker.Redis

data BrokerMessage RedisBroker a Source # 
Instance details

Defined in Async.Worker.Broker.Redis

data Message RedisBroker a Source # 
Instance details

Defined in Async.Worker.Broker.Redis

data MessageId RedisBroker Source # 
Instance details

Defined in Async.Worker.Broker.Redis

data family BrokerInitParams b a #

All the parameters needed for broker intialization

Instances

Instances details
data BrokerInitParams RedisBroker a Source # 
Instance details

Defined in Async.Worker.Broker.Redis

data RedisWithMsgId a Source #

Helper datatype to store message with a unique id. We fetch the id by using INCR https://redis.io/docs/latest/commands/incr/

Constructors

RedisWithMsgId 

Fields