postgresql-simple-queue: A PostgreSQL backed queue
This module utilize PostgreSQL to implement a durable queue for efficently processing arbitrary payloads which can be represented as JSON.
Typically a producer would enqueue a new payload as part of larger database transaction
createAccount userRecord = do 'runDBTSerializable' $ do createUserDB userRecord 'enqueueDB' $ makeVerificationEmail userRecord
In another thread or process, the consumer would drain the queue.
forever $ do -- Attempt get a payload or block until one is available payload <- 'lock' conn -- Perform application specifc parsing of the payload value case fromJSON $ 'pValue' payload of Success x -> sendEmail x -- Perform application specific processing Error err -> logErr err -- Remove the payload from future processing 'dequeue' conn $ 'pId' payload
[Skip to Readme]
Modules
- Database
- PostgreSQL
- Simple
- Database.PostgreSQL.Simple.Queue
- Examples
- Database.PostgreSQL.Simple.Queue.Examples.EmailQueue
- Database.PostgreSQL.Simple.Queue.Main
- Database.PostgreSQL.Simple.Queue.Migrate
- Examples
- Database.PostgreSQL.Simple.Queue
- Simple
- PostgreSQL
Downloads
- postgresql-simple-queue-0.1.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates