Commit 051978f1 authored by Przemyslaw Kaminski's avatar Przemyslaw Kaminski

[ngrams] fix job prelude, compiles now with MonadBase IO

parent 3d954f25
...@@ -114,7 +114,7 @@ import Test.QuickCheck (elements) ...@@ -114,7 +114,7 @@ import Test.QuickCheck (elements)
import Test.QuickCheck.Arbitrary (Arbitrary, arbitrary) import Test.QuickCheck.Arbitrary (Arbitrary, arbitrary)
import Prelude (error) import Prelude (error)
import Gargantext.Prelude import Gargantext.Prelude hiding (log)
import Gargantext.API.Admin.Orchestrator.Types (JobLog(..), AsyncJobs) import Gargantext.API.Admin.Orchestrator.Types (JobLog(..), AsyncJobs)
import Gargantext.API.Admin.Types (HasSettings) import Gargantext.API.Admin.Types (HasSettings)
...@@ -133,7 +133,6 @@ import Gargantext.Database.Prelude (HasConnectionPool, HasConfig) ...@@ -133,7 +133,6 @@ import Gargantext.Database.Prelude (HasConnectionPool, HasConfig)
import Gargantext.Database.Query.Table.Node.Error (HasNodeError) import Gargantext.Database.Query.Table.Node.Error (HasNodeError)
import Gargantext.Database.Query.Table.Node.Select import Gargantext.Database.Query.Table.Node.Select
import Gargantext.Database.Query.Table.Ngrams hiding (NgramsType(..), ngrams, ngramsType, ngrams_terms) import Gargantext.Database.Query.Table.Ngrams hiding (NgramsType(..), ngrams, ngramsType, ngrams_terms)
import Gargantext.Database.Query.Table.Node.Error (HasNodeError)
import qualified Gargantext.Database.Query.Table.Ngrams as TableNgrams import qualified Gargantext.Database.Query.Table.Ngrams as TableNgrams
import Gargantext.Database.Query.Table.Node (getNode) import Gargantext.Database.Query.Table.Node (getNode)
import Gargantext.Database.Schema.Node (node_id, node_parentId, node_userId) import Gargantext.Database.Schema.Node (node_id, node_parentId, node_userId)
......
...@@ -251,7 +251,7 @@ addCorpusWithQuery user cid = ...@@ -251,7 +251,7 @@ addCorpusWithQuery user cid =
serveJobsAPI $ serveJobsAPI $
JobFunction (\q log -> do JobFunction (\q log -> do
limit <- view $ config . gc_max_docs_scrapers limit <- view $ config . gc_max_docs_scrapers
New.ahttps://filezilla-project.org/ddToCorpusWithQuery user cid q (Just limit) (liftBase . log) New.addToCorpusWithQuery user cid q (Just limit) (liftBase . log)
{- let log' x = do {- let log' x = do
printDebug "addToCorpusWithQuery" x printDebug "addToCorpusWithQuery" x
liftBase $ log x liftBase $ log x
......
module Gargantext.Prelude.Job where module Gargantext.Prelude.Job where
import Control.Monad.IO.Class (liftIO, MonadIO)
import Data.IORef import Data.IORef
import Data.Maybe import Data.Maybe
...@@ -8,6 +7,7 @@ import Gargantext.Prelude ...@@ -8,6 +7,7 @@ import Gargantext.Prelude
import Gargantext.API.Admin.Orchestrator.Types (JobLog(..)) import Gargantext.API.Admin.Orchestrator.Types (JobLog(..))
jobLogInit :: Int -> JobLog jobLogInit :: Int -> JobLog
jobLogInit rem = jobLogInit rem =
JobLog { _scst_succeeded = Just 0 JobLog { _scst_succeeded = Just 0
...@@ -36,18 +36,18 @@ jobLogFail (JobLog { _scst_succeeded = mSucc ...@@ -36,18 +36,18 @@ jobLogFail (JobLog { _scst_succeeded = mSucc
, _scst_failed = (+ 1) <$> mFail , _scst_failed = (+ 1) <$> mFail
, _scst_events = evt } , _scst_events = evt }
runJobLog :: MonadIO io => Int -> (JobLog -> io ()) -> io (io (), io (), io JobLog) runJobLog :: MonadBase IO m => Int -> (JobLog -> m ()) -> m (m (), m (), m JobLog)
runJobLog num logStatus = do runJobLog num logStatus = do
jlRef <- liftIO $ newIORef $ jobLogInit num jlRef <- liftBase $ newIORef $ jobLogInit num
return (logRefF jlRef, logRefSuccessF jlRef, getRefF jlRef) return (logRefF jlRef, logRefSuccessF jlRef, getRefF jlRef)
where where
logRefF ref = do logRefF ref = do
jl <- liftIO $ readIORef ref jl <- liftBase $ readIORef ref
logStatus jl logStatus jl
logRefSuccessF ref = do logRefSuccessF ref = do
jl <- liftIO $ readIORef ref jl <- liftBase $ readIORef ref
liftIO $ writeIORef ref $ jobLogSuccess jl liftBase $ writeIORef ref $ jobLogSuccess jl
getRefF ref = do getRefF ref = do
liftIO $ readIORef ref liftBase $ readIORef ref
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment