Commit 3d954f25 authored by Przemyslaw Kaminski's avatar Przemyslaw Kaminski

[ngrams] refactoring of job log functions

parent ec4c006c
Pipeline #1185 canceled with stage
......@@ -130,6 +130,7 @@ import Gargantext.Database.Action.Metrics.NgramsByNode (getOccByNgramsOnlyFast')
import Gargantext.Database.Admin.Config (userMaster)
import Gargantext.Database.Admin.Types.Node (NodeType(..))
import Gargantext.Database.Prelude (HasConnectionPool, HasConfig)
import Gargantext.Database.Query.Table.Node.Error (HasNodeError)
import Gargantext.Database.Query.Table.Node.Select
import Gargantext.Database.Query.Table.Ngrams hiding (NgramsType(..), ngrams, ngramsType, ngrams_terms)
import Gargantext.Database.Query.Table.Node.Error (HasNodeError)
......@@ -350,6 +351,7 @@ tableNgramsPut tabType listId (Versioned p_version p_table)
tableNgramsPostChartsAsync :: ( FlowCmdM env err m
, HasNodeError err
, HasSettings env
)
=> UpdateTableNgramsCharts
......
module Gargantext.Prelude.Job where
import Control.Monad.IO.Class (liftIO, MonadIO)
import Data.IORef
import Data.Maybe
......@@ -35,17 +36,18 @@ jobLogFail (JobLog { _scst_succeeded = mSucc
, _scst_failed = (+ 1) <$> mFail
, _scst_events = evt }
runJobLog :: Int -> (JobLog -> IO ()) -> IO (IO (), IO (), IO JobLog)
runJobLog :: MonadIO io => Int -> (JobLog -> io ()) -> io (io (), io (), io JobLog)
runJobLog num logStatus = do
jlRef <- newIORef $ jobLogInit num
let logRef = do
jl <- readIORef jlRef
logStatus jl
let logRefSuccess = do
jl <- readIORef jlRef
writeIORef $ jobLogSuccess jl
let getRef = do
readIORef jlRef
return (logRef, logRefSuccess, getRef)
jlRef <- liftIO $ newIORef $ jobLogInit num
return (logRefF jlRef, logRefSuccessF jlRef, getRefF jlRef)
where
logRefF ref = do
jl <- liftIO $ readIORef ref
logStatus jl
logRefSuccessF ref = do
jl <- liftIO $ readIORef ref
liftIO $ writeIORef ref $ jobLogSuccess jl
getRefF ref = do
liftIO $ 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