Safe Haskell | None |
---|---|
Language | Haskell2010 |
- defaultRunW :: (PersistConfig c, MonadWorker m, MonadBaseControl IO m) => (WorkerSite m -> c) -> (WorkerSite m -> PersistConfigPool c) -> PersistConfigBackend c m b -> m b
- enqueue :: YesodWorker site => Job -> HandlerT site IO ()
- emptyQueue :: IO (JobQueue a)
- getYesodW :: MonadWorker m => m (WorkerSite m)
- type JobQueue a = TVar (Seq a)
- spawnWorkers :: YesodWorker site => site -> IO ()
- data WorkerT site m a
- class Yesod site => YesodWorker site where
Documentation
defaultRunW :: (PersistConfig c, MonadWorker m, MonadBaseControl IO m) => (WorkerSite m -> c) -> (WorkerSite m -> PersistConfigPool c) -> PersistConfigBackend c m b -> m b Source
Provides the default runW
implementation for running SQL queries inside a Worker
enqueue :: YesodWorker site => Job -> HandlerT site IO () Source
Add a job to the site queue from within a Handler
emptyQueue :: IO (JobQueue a) Source
An empty queue, suitable for initializing the app queue at boot
spawnWorkers :: YesodWorker site => site -> IO () Source
Spawns a number of workers which will consume from the application queue performing jobs as they are popped.
MonadBaseControl b m => MonadBaseControl b (WorkerT site m) | |
MonadBase b m => MonadBase b (WorkerT site m) | |
MonadTrans (WorkerT site) | |
Monad m => Monad (WorkerT site m) | |
Monad m => Functor (WorkerT site m) | |
Monad m => Applicative (WorkerT site m) | |
MonadThrow m => MonadThrow (WorkerT site m) | |
MonadIO m => MonadLogger (WorkerT site m) | |
MonadIO m => MonadIO (WorkerT site m) | |
(MonadIO m, MonadBase IO m, MonadThrow m) => MonadResource (WorkerT site m) | |
data StM (WorkerT site m) = StH (StM m a) |
class Yesod site => YesodWorker site where Source
Typeclass for customizing Worker settings
queue :: site -> JobQueue Job Source
How to retreive the application queue
workerCount :: site -> Int Source
Number of concurrent workers
perform :: Job -> WorkerT site IO () Source
How to execute each job
runW :: SqlPersistT (WorkerT site IO) a -> WorkerT site IO a Source
Helper for running SQL queries inside a Worker