packages feed

yesod-job-queue 0.2.0.0 → 0.2.0.1

raw patch · 5 files changed

+31/−8 lines, 5 filesbuild-type:Customsetup-changed

Files

Setup.hs view
@@ -1,2 +1,17 @@-import Distribution.Simple-main = defaultMain+import Distribution.PackageDescription (PackageDescription(extraSrcFiles))+import Distribution.Simple (UserHooks(buildHook))+import qualified Distribution.Simple as DS+import Distribution.Simple.LocalBuildInfo (LocalBuildInfo)+import Distribution.Simple.Setup (BuildFlags)+import qualified System.Process as Proc+import qualified System.Directory as Dir+import Control.Monad (when, void)++buildHook' :: PackageDescription -> LocalBuildInfo -> UserHooks -> BuildFlags -> IO ()+buildHook' packageDesc localBuildInfo userHooks buildFlags = do+    exists <- Dir.doesFileExist "./app/dist/app.bundle.js"+    when (not exists) $ void $ Proc.system "cd app && npm install && npm run build-js"+    (buildHook DS.simpleUserHooks) packageDesc localBuildInfo userHooks buildFlags++main :: IO ()+main = DS.defaultMainWithHooks DS.simpleUserHooks{buildHook = buildHook'}
Yesod/JobQueue.hs view
@@ -87,6 +87,10 @@     -- | Job Handler     runJob :: (MonadBaseControl IO m, MonadIO m)               => master -> JobType master -> ReaderT master m ()++    -- | connection info for redis+    queueConnectInfo :: master -> R.ConnectInfo+    queueConnectInfo _ = R.defaultConnectInfo          -- | queue key name for redis     queueKey :: master -> ByteString@@ -125,7 +129,7 @@ startThread :: (YesodJobQueue master, MonadBaseControl IO m, MonadIO m) => master -> ThreadNum -> m () startThread m tNo = do     liftIO $ forkIO $ do-        conn <- R.connect R.defaultConnectInfo+        conn <- R.connect $ queueConnectInfo m         R.runRedis conn $ do             forever $ do                 emr <- R.blpop [queueKey m] 600@@ -156,7 +160,7 @@ enqueue m jt = do     time <- getCurrentTime     let item = JobQueueItem (show jt) time-    conn <- liftIO $ R.connect R.defaultConnectInfo+    conn <- liftIO $ R.connect $ queueConnectInfo m     R.runRedis conn $ do         R.rpush (queueKey m) [BSC.pack $ show item]     return ()@@ -164,7 +168,7 @@ -- | Get all job in the queue listQueue :: YesodJobQueue master => master -> IO (Either String [JobQueueItem]) listQueue m = do-    conn <- R.connect R.defaultConnectInfo+    conn <- R.connect $ queueConnectInfo m     exs <- R.runRedis conn $ do         R.lrange (queueKey m) 0 (-1)     case exs of
app/dist/app.bundle.js view

file too large to diff

example/Main.hs view
@@ -7,7 +7,7 @@ import Database.Persist.Sqlite --import Control.Monad.Trans.Resource (runResourceT) import Control.Monad.Logger (runStderrLoggingT)-+-- import qualified Database.Redis as R  -- Yesod Persist settings (Nothing special here) share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persistLowerCase|@@ -57,6 +57,9 @@         putStrLn "send norification!"     getClassInformation app = [jobQueueInfo app, schedulerInfo app]     -- jobManagerJSUrl _ = "http://localhost:3001/dist/app.bundle.js" -- use for development with "npm run bs"+    -- queueConnectInfo _ = R.defaultConnectInfo+    --                      {R.connectHost = "127.0.0.1"+    --                      , R.connectPort = R.PortNumber 6379}  instance YesodJobQueueScheduler App  where     getJobSchedules _ = [("* * * * *", AggregationUser)
yesod-job-queue.cabal view
@@ -1,5 +1,5 @@ name:                yesod-job-queue-version:             0.2.0.0+version:             0.2.0.1 synopsis:            Background jobs library for Yesod. description:   Background jobs library for Yesod@@ -17,7 +17,7 @@ maintainer:          nakaji.dayo@gmail.com copyright:           2016 Daishi Nakajima category:            Web-build-type:          Simple+build-type:          Custom extra-source-files: app/dist/app.bundle.js cabal-version:       >=1.10 @@ -84,6 +84,7 @@                 , resourcet                 , monad-logger                 , classy-prelude-yesod+                , hedis    ghc-options:    -threaded -O2 -rtsopts -with-rtsopts=-N   default-language:    Haskell2010