Safe Haskell | None |
---|---|
Language | Haskell2010 |
Database.Disque
- data Disque a
- runDisque :: Connection -> Disque a -> IO a
- data Connection :: *
- data ConnectInfo :: * = ConnInfo {}
- data Reply :: *
- = SingleLine ByteString
- | Error ByteString
- | Integer Integer
- | Bulk (Maybe ByteString)
- | MultiBulk (Maybe [Reply])
- data Job = Job {}
- type JobId = ByteString
- disqueConnectInfo :: ConnectInfo
- connect :: ConnectInfo -> IO Connection
- addjob :: ByteString -> ByteString -> Int -> Disque (Either Reply ByteString)
- getjob :: [ByteString] -> Disque (Either Reply Job)
- getjobs :: [ByteString] -> Int -> Disque (Either Reply [Job])
- ackjob :: [ByteString] -> Disque (Either Reply ByteString)
- fastack :: [ByteString] -> Disque (Either Reply ByteString)
- working :: ByteString -> Disque (Either Reply ByteString)
- nack :: [ByteString] -> Disque (Either Reply ByteString)
- info' :: Disque (Either Reply ByteString)
- hello :: Disque (Either Reply ByteString)
- qlen :: ByteString -> Disque (Either Reply ByteString)
- qstat :: ByteString -> Disque (Either Reply ByteString)
- qpeek :: ByteString -> ByteString -> Disque (Either Reply ByteString)
- enqueue :: [ByteString] -> Disque (Either Reply ByteString)
- dequeue :: [ByteString] -> Disque (Either Reply ByteString)
- deljob :: [ByteString] -> Disque (Either Reply ByteString)
- jshow :: ByteString -> Disque (Either Reply ByteString)
- qscan :: ByteString -> Disque (Either Reply ByteString)
- jscan :: ByteString -> Disque (Either Reply ByteString)
- withGetJobs :: [ByteString] -> Int -> (Job -> Disque a) -> Disque [a]
Documentation
data Connection :: * #
A threadsafe pool of network connections to a Redis server. Use the
connect
function to create one.
data ConnectInfo :: * #
Information for connnecting to a Redis server.
It is recommended to not use the ConnInfo
data constructor directly.
Instead use defaultConnectInfo
and update it with record syntax. For
example to connect to a password protected Redis server running on localhost
and listening to the default port:
myConnectInfo :: ConnectInfo myConnectInfo = defaultConnectInfo {connectAuth = Just "secret"}
Constructors
ConnInfo | |
Fields
|
Instances
Low-level representation of replies from the Redis server.
Constructors
SingleLine ByteString | |
Error ByteString | |
Integer Integer | |
Bulk (Maybe ByteString) | |
MultiBulk (Maybe [Reply]) |
type JobId = ByteString Source #
Disque job
Job IDs start with a DI and end with an SQ and are always 48 characters
disqueConnectInfo :: ConnectInfo Source #
Disque connection information
Use this smart constructor to override specifics to your client connection
e.g.
disqueConnectInfo { connectPort = PortNumber 7712 }
connect :: ConnectInfo -> IO Connection #
Constructs a Connection
pool to a Redis server designated by the
given ConnectInfo
. The first connection is not actually established
until the first call to the server.
Main API
addjob :: ByteString -> ByteString -> Int -> Disque (Either Reply ByteString) Source #
ackjob :: [ByteString] -> Disque (Either Reply ByteString) Source #
fastack :: [ByteString] -> Disque (Either Reply ByteString) Source #
working :: ByteString -> Disque (Either Reply ByteString) Source #
nack :: [ByteString] -> Disque (Either Reply ByteString) Source #
Other Commands
qlen :: ByteString -> Disque (Either Reply ByteString) Source #
qstat :: ByteString -> Disque (Either Reply ByteString) Source #
qpeek :: ByteString -> ByteString -> Disque (Either Reply ByteString) Source #
enqueue :: [ByteString] -> Disque (Either Reply ByteString) Source #
dequeue :: [ByteString] -> Disque (Either Reply ByteString) Source #
deljob :: [ByteString] -> Disque (Either Reply ByteString) Source #
jshow :: ByteString -> Disque (Either Reply ByteString) Source #
qscan :: ByteString -> Disque (Either Reply ByteString) Source #
jscan :: ByteString -> Disque (Either Reply ByteString) Source #
High level functions
withGetJobs :: [ByteString] -> Int -> (Job -> Disque a) -> Disque [a] Source #