hasql-queue-1.2.0.0: src/Hasql/Queue/High/AtMostOnce.hs
module Hasql.Queue.High.AtMostOnce where
import qualified Hasql.Queue.High.ExactlyOnce as H
import qualified Hasql.Queue.Internal as I
import Hasql.Connection
import qualified Hasql.Encoders as E
import qualified Hasql.Decoders as D
{-|Enqueue a payload.
-}
enqueue :: Connection
-- ^ Connection
-> E.Value a
-- ^ Payload encoder
-> [a]
-- ^ List of payloads to enqueue
-> IO ()
enqueue conn encoder xs = I.runThrow (H.enqueue encoder xs) conn
{-|
Dequeue a list of payloads.
-}
dequeue :: Connection
-- ^ Connection
-> D.Value a
-- ^ Payload decoder
-> Int
-- ^ Element count
-> IO [a]
dequeue conn theDecoder batchCount = I.runThrow (H.dequeue theDecoder batchCount) conn