yesod-job-queue 0.1.0.1 → 0.1.0.2
raw patch · 6 files changed
+25/−4 lines, 6 files
Files
- Yesod/JobQueue.hs +7/−3
- Yesod/JobQueue/APIData.hs +9/−0
- Yesod/JobQueue/Scheduler.hs +7/−0
- app/dist/app.bundle.js too large to diff
- example/Main.hs +1/−0
- yesod-job-queue.cabal +1/−1
Yesod/JobQueue.hs view
@@ -164,7 +164,9 @@ $ map (readMay . BSC.unpack) xs Left r -> return $ Left $ show r -+ -- | get information of all type classes related job-queue+ getClassInformation :: master -> [JobQueueClassInfo]+ getClassInformation _ = [] -- | Handler for job manager api routes type JobHandler master a =@@ -174,10 +176,12 @@ getJobR :: JobHandler master Value getJobR = lift $ do y <- getYesod+ -- job types let f x = object ["type" .= show x, "description" .= describe x] let ts = map f $ allJobTypes y- returnJson $ object ["jobTypes" .= ts]- + -- type class info+ let info = getClassInformation y+ returnJson $ object ["jobTypes" .= ts, "information" .= info] -- | get a list of jobs in queue getJobQueueR :: JobHandler master Value
Yesod/JobQueue/APIData.hs view
@@ -11,3 +11,12 @@ makeFields ''PostJobQueueRequest deriveApiFieldJSON ''PostJobQueueRequest +++data JobQueueClassInfo = JobQueueClassInfo {+ _jobQueueClassInfoClassName :: Text+ , _jobQueueClassInfoValues :: [Text]+ }++makeFields ''JobQueueClassInfo+deriveApiFieldJSON ''JobQueueClassInfo
Yesod/JobQueue/Scheduler.hs view
@@ -1,11 +1,14 @@ module Yesod.JobQueue.Scheduler where import Yesod.JobQueue+import Yesod.JobQueue.APIData import System.Cron.Schedule import qualified Prelude as P import ClassyPrelude.Yesod +import qualified Data.Text as T (pack)+ class (YesodJobQueue master) => YesodJobQueueScheduler master where -- | job schedules getJobSchedules :: master -> [(String, JobType master)]@@ -16,3 +19,7 @@ let add (s, jt) = addJob (enqueue master jt) s tids <- liftIO $ execSchedule $ mapM_ add $ getJobSchedules master print tids++schedulerInfo :: YesodJobQueueScheduler master => master -> JobQueueClassInfo+schedulerInfo m = JobQueueClassInfo "Scheduler" $ map (T.pack . showSchedule) $ getJobSchedules m+ where showSchedule (s, jt) = s ++ " " ++ (show jt)
app/dist/app.bundle.js view
file too large to diff
example/Main.hs view
@@ -63,6 +63,7 @@ putStrLn "complate job!" runJob app PushNotification = do putStrLn "send norification!"+ getClassInformation app = [schedulerInfo app] -- jobManagerJSUrl _ = "http://localhost:3001/dist/app.bundle.js" -- use for development with "npm run bs" instance YesodJobQueueScheduler App where
yesod-job-queue.cabal view
@@ -1,5 +1,5 @@ name: yesod-job-queue-version: 0.1.0.1+version: 0.1.0.2 synopsis: Background jobs library for Yesod. description: Please see README.md homepage: https://github.com/nakaji-dayo/yesod-job-queue#readme