| Copyright | (c) Gargantext 2024-Present |
|---|---|
| License | AGPL |
| Maintainer | [email protected] |
| Stability | experimental |
| Portability | POSIX |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Database.PGMQ.Simple
Description
Synopsis
- initialize :: Connection -> IO ()
- archiveMessage :: Connection -> Queue -> MessageId -> IO ()
- archiveMessages :: Connection -> Queue -> [MessageId] -> IO ()
- createQueue :: Connection -> Queue -> IO ()
- deleteMessage :: Connection -> Queue -> MessageId -> IO ()
- deleteMessages :: Connection -> Queue -> [MessageId] -> IO ()
- dropQueue :: Connection -> Queue -> IO ()
- getMetrics :: Connection -> Queue -> IO (Maybe Metrics)
- getMetricsAll :: Connection -> IO [Metrics]
- listQueues :: Connection -> IO [QueueInfo]
- popMessage :: SerializableMessage a => Connection -> Queue -> IO (Maybe (Message a))
- purgeQueue :: Connection -> Queue -> IO ()
- readMessage :: SerializableMessage a => Connection -> Queue -> VisibilityTimeout -> IO (Maybe (Message a))
- readMessageFromArchive :: SerializableMessage a => Connection -> Queue -> MessageId -> IO (Maybe (Message a))
- readMessageById :: SerializableMessage a => Connection -> Queue -> MessageId -> IO (Maybe (Message a))
- readMessages :: SerializableMessage a => Connection -> Queue -> VisibilityTimeout -> MessageCount -> IO [Message a]
- readMessageWithPoll :: SerializableMessage a => Connection -> Queue -> VisibilityTimeout -> MaxPollSeconds -> PollIntervalMs -> IO (Maybe (Message a))
- readMessagesWithPoll :: SerializableMessage a => Connection -> Queue -> VisibilityTimeout -> MessageCount -> MaxPollSeconds -> PollIntervalMs -> IO [Message a]
- sendMessage :: SerializableMessage a => Connection -> Queue -> a -> Delay -> IO Int
- sendMessages :: SerializableMessage a => Connection -> Queue -> [a] -> Delay -> IO [Int]
- setMessageVt :: Connection -> Queue -> MessageId -> VisibilityTimeout -> IO ()
- queueAvailableLength :: Connection -> Queue -> IO Int
- queueAvailableIds :: Connection -> Queue -> IO [MessageId]
Documentation
initialize :: Connection -> IO () Source #
Initialize PGMQ given a PostgreSQL connection. Mainly concerned
with creating the pgmq extension.
archiveMessage :: Connection -> Queue -> MessageId -> IO () Source #
Archives message in given queue for given id
archiveMessages :: Connection -> Queue -> [MessageId] -> IO () Source #
Archives messages in given queue for given ids
createQueue :: Connection -> Queue -> IO () Source #
Creates a queue
deleteMessage :: Connection -> Queue -> MessageId -> IO () Source #
Deletes given message from given queue
deleteMessages :: Connection -> Queue -> [MessageId] -> IO () Source #
Deletes given messages from given queue
getMetrics :: Connection -> Queue -> IO (Maybe Metrics) Source #
Read metrics for a given queue
getMetricsAll :: Connection -> IO [Metrics] Source #
Read metrics for all queues https://tembo.io/pgmq/api/sql/functions/#metrics_all
listQueues :: Connection -> IO [QueueInfo] Source #
List all pgmq queues https://tembo.io/pgmq/api/sql/functions/#list_queues
popMessage :: SerializableMessage a => Connection -> Queue -> IO (Maybe (Message a)) Source #
Read a message and immediately delete it from the queue. Returns None if the queue is empty.
https://tembo.io/pgmq/api/sql/functions/#pop
purgeQueue :: Connection -> Queue -> IO () Source #
Deletes all messages from a queue https://tembo.io/pgmq/api/sql/functions/#purge_queue
readMessage :: SerializableMessage a => Connection -> Queue -> VisibilityTimeout -> IO (Maybe (Message a)) Source #
Read a message from given queue, with given visibility timeout (in seconds) https://tembo.io/pgmq/api/sql/functions/#read
readMessageFromArchive :: SerializableMessage a => Connection -> Queue -> MessageId -> IO (Maybe (Message a)) Source #
Read a message from given archive
readMessageById :: SerializableMessage a => Connection -> Queue -> MessageId -> IO (Maybe (Message a)) Source #
Read a message from queue with given ID (for querying purposes, doesn't pop message from queue)
readMessages :: SerializableMessage a => Connection -> Queue -> VisibilityTimeout -> MessageCount -> IO [Message a] Source #
Reads given number of messages from given queue
readMessageWithPoll :: SerializableMessage a => Connection -> Queue -> VisibilityTimeout -> MaxPollSeconds -> PollIntervalMs -> IO (Maybe (Message a)) Source #
Reads a single message, polling for given duration if the queue is empty.
NOTE This is a blocking operation.
readMessagesWithPoll :: SerializableMessage a => Connection -> Queue -> VisibilityTimeout -> MessageCount -> MaxPollSeconds -> PollIntervalMs -> IO [Message a] Source #
Reads given number of messages, polling for given duration if the queue is empty. NOTE This is a blocking operation. https://tembo.io/pgmq/api/sql/functions/#read_with_poll
sendMessage :: SerializableMessage a => Connection -> Queue -> a -> Delay -> IO Int Source #
Sends one message to a queue https://tembo.io/pgmq/api/sql/functions/#send
sendMessages :: SerializableMessage a => Connection -> Queue -> [a] -> Delay -> IO [Int] Source #
Sends a batch of messages https://tembo.io/pgmq/api/sql/functions/#send_batch
setMessageVt :: Connection -> Queue -> MessageId -> VisibilityTimeout -> IO () Source #
Sets the visibility timeout of a message for X seconds from now https://tembo.io/pgmq/api/sql/functions/#set_vt
queueAvailableLength :: Connection -> Queue -> IO Int Source #
This function returns the number of readily available messages.
metrics returns total queue size, but even then, when vt of
these messages is set in the future, the read operation might
return nothing (see queueAvailableNow).
queueAvailableIds :: Connection -> Queue -> IO [MessageId] Source #
Same as queryAvailableLength but returns the ids of messages.