Safe Haskell | None |
---|---|
Language | Haskell2010 |
Background jobs library for Yesod. Use example is in README.md.
- class (Yesod master, Read (JobType master), Show (JobType master), Generic (JobType master), Constructors (Rep (JobType master))) => YesodJobQueue master where
- type JobType master
- runJob :: (MonadBaseControl IO m, MonadIO m) => master -> JobType master -> ReaderT master m ()
- queueConnectInfo :: master -> ConnectInfo
- queueKey :: master -> ByteString
- threadNumber :: master -> Int
- runDBJob :: (MonadBaseControl IO m, MonadIO m) => ReaderT (YesodPersistBackend master) (ReaderT master m) a -> ReaderT master m a
- getJobState :: master -> JobState
- jobAPIBaseUrl :: master -> String
- jobManagerJSUrl :: master -> String
- describeJob :: master -> JobTypeString -> Maybe Text
- getClassInformation :: master -> [JobQueueClassInfo]
- data JobQueue
- startDequeue :: (YesodJobQueue master, MonadBaseControl IO m, MonadIO m) => master -> m ()
- enqueue :: YesodJobQueue master => master -> JobType master -> IO ()
- type JobState = TVar [RunningJob]
- newJobState :: IO (TVar [RunningJob])
- jobQueueInfo :: YesodJobQueue master => master -> JobQueueClassInfo
- getJobQueue :: a -> JobQueue
Documentation
class (Yesod master, Read (JobType master), Show (JobType master), Generic (JobType master), Constructors (Rep (JobType master))) => YesodJobQueue master where Source
Backend jobs for Yesod
runJob :: (MonadBaseControl IO m, MonadIO m) => master -> JobType master -> ReaderT master m () Source
Job Handler
queueConnectInfo :: master -> ConnectInfo Source
connection info for redis
queueKey :: master -> ByteString Source
queue key name for redis
threadNumber :: master -> Int Source
The number of threads to run the job
runDBJob :: (MonadBaseControl IO m, MonadIO m) => ReaderT (YesodPersistBackend master) (ReaderT master m) a -> ReaderT master m a Source
runDB for job
getJobState :: master -> JobState Source
get job state
jobAPIBaseUrl :: master -> String Source
get API and Manager base url
jobManagerJSUrl :: master -> String Source
get manager application javascript url (change only development)
describeJob :: master -> JobTypeString -> Maybe Text Source
Job Information
getClassInformation :: master -> [JobQueueClassInfo] Source
get information of all type classes related job-queue
startDequeue :: (YesodJobQueue master, MonadBaseControl IO m, MonadIO m) => master -> m () Source
enqueue :: YesodJobQueue master => master -> JobType master -> IO () Source
Add job to end of the queue
newJobState :: IO (TVar [RunningJob]) Source
create new JobState
jobQueueInfo :: YesodJobQueue master => master -> JobQueueClassInfo Source
Need by getClassInformation
getJobQueue :: a -> JobQueue Source