Skip to content

Commit 81987c0

Browse files
committed
hlint
1 parent 416fb66 commit 81987c0

File tree

4 files changed

+36
-30
lines changed

4 files changed

+36
-30
lines changed

periodic-server/src/Periodic/Server.hs

+3-3
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ type WorkerList m = IOHashMap ByteString (WorkerEnv m)
4747

4848
data ServerConfig = ServerConfig
4949
{ schedConfig :: SchedConfig
50-
, mkTransport :: (Socket -> IO Transport)
50+
, mkTransport :: Socket -> IO Transport
5151
, serveSock :: Socket
5252
}
5353

@@ -91,7 +91,7 @@ serveForever = do
9191

9292
void . runMaybeT . forever $ do
9393
e <- lift tryServeOnce
94-
when (isLeft e) $ mzero
94+
when (isLeft e) mzero
9595
alive <- liftIO $ readTVarIO state
9696
unless alive mzero
9797

@@ -117,7 +117,7 @@ handleConnection
117117
=> Transport -> ServerT m ()
118118
handleConnection transport = do
119119
connectionConfig <- liftIO $ initServerConnectionConfig transport
120-
connectionState <- liftIO $ initConnectionState
120+
connectionState <- liftIO initConnectionState
121121

122122
ServerState{..} <- get
123123
ServerConfig{..} <- lift ask

periodic-server/src/Periodic/Server/Client.hs

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ initClientEnv connectionState connectionConfig schedState schedConfig = do
6060
lastVist <- liftIO $ newTVarIO =<< getEpochTime
6161
let periodicEnv = initEnv_ lastVist connectionConfig $ handleAgentT lastVist
6262
periodicState <- liftIO $ initPeriodicState connectionState
63-
return $ ClientEnv {..}
63+
return ClientEnv{..}
6464

6565
startClientT
6666
:: (MonadIO m, MonadBaseControl IO m, MonadCatch m)
@@ -97,4 +97,4 @@ handleAgentT lastVist = do
9797
Right (RemoveJob job) -> do
9898
liftAgentT $ removeJob job
9999
send Success
100-
Right Shutdown -> liftAgentT $ shutdown
100+
Right Shutdown -> liftAgentT shutdown

periodic-server/src/Periodic/Server/Scheduler.hs

+30-24
Original file line numberDiff line numberDiff line change
@@ -73,14 +73,16 @@ data SchedConfig = SchedConfig
7373
, sCleanup :: IO ()
7474
}
7575

76+
type Task m = Async (StM (SchedT m) ())
77+
7678
data SchedState m = SchedState
7779
{ sFuncStatList :: FuncStatList
7880
, sLocker :: L.Lock
7981
, sGrabQueue :: GrabQueue
8082
, sJobQueue :: JobQueue
8183
, sProcessJob :: ProcessQueue
8284
, sAlive :: TVar Bool
83-
, sSchedJobQ :: IOHashMap JobHandle (Async (StM (SchedT m) ()))
85+
, sTaskList :: IOHashMap JobHandle (Task m)
8486
}
8587

8688
type SchedT m = StateT (SchedState m) (ReaderT SchedConfig m)
@@ -103,7 +105,7 @@ initSchedState = do
103105
sGrabQueue <- newGrabQueue
104106
sJobQueue <- newIOHashMap
105107
sProcessJob <- newIOHashMap
106-
sSchedJobQ <- newIOHashMap
108+
sTaskList <- newIOHashMap
107109
sAlive <- newTVarIO True
108110
pure SchedState {..}
109111

@@ -131,7 +133,7 @@ pollJob :: (MonadIO m, MonadBaseControl IO m) => SchedT m ()
131133
pollJob = do
132134
SchedState{..} <- get
133135
SchedConfig{..} <- lift ask
134-
mapM_ checkPoll =<< liftIO (FL.toList sSchedJobQ)
136+
mapM_ checkPoll =<< liftIO (FL.toList sTaskList)
135137

136138
next <- liftIO $ (+ sSchedDelay * 2) <$> getEpochTime
137139
mapM_ checkJob =<< liftIO (JQ.findLessJob sJobQueue next)
@@ -140,21 +142,20 @@ pollJob = do
140142
:: (MonadIO m, MonadBaseControl IO m)
141143
=> Job -> SchedT m ()
142144
checkJob job@Job{..} = do
143-
SchedState{..} <- get
144-
SchedConfig{..} <- lift ask
145-
w <- liftIO $ FL.lookup sSchedJobQ (jHandle job)
145+
w <- findTask job
146+
schedDelay <- lift $ asks sSchedDelay
146147
unless (isJust w) $ do
147-
now <- liftIO $ getEpochTime
148-
when (jSchedAt > now || jSchedAt + sSchedDelay < now) $ reSchedJob job
148+
now <- liftIO getEpochTime
149+
when (jSchedAt > now || jSchedAt + schedDelay < now) $ reSchedJob job
149150

150151
checkPoll
151152
:: (MonadIO m, MonadBaseControl IO m)
152153
=> (JobHandle, Async (StM (SchedT m) ())) -> SchedT m ()
153154
checkPoll (jh, w) = do
154-
SchedState{..} <- get
155+
taskList <- gets sTaskList
155156
r <- poll w
156157
case r of
157-
Just (Right ()) -> liftIO $ FL.delete sSchedJobQ jh
158+
Just (Right ()) -> liftIO $ FL.delete taskList jh
158159
_ -> pure ()
159160

160161

@@ -176,27 +177,32 @@ pushJob job@Job{..} = do
176177

177178
reSchedJob :: (MonadIO m, MonadBaseControl IO m) => Job -> SchedT m ()
178179
reSchedJob job = do
179-
SchedState{..} <- get
180-
SchedConfig{..} <- lift ask
181-
w <- liftIO $ FL.lookup sSchedJobQ (jHandle job)
180+
schedDelay <- lift $ asks sSchedDelay
181+
taskList <- gets sTaskList
182+
w <- findTask job
182183
when (isJust w) $ do
183184
cancel (fromJust w)
184-
liftIO $ FL.delete sSchedJobQ (jHandle job)
185+
liftIO $ FL.delete taskList (jHandle job)
185186

186-
next <- liftIO $ (+ sSchedDelay * 2) <$> getEpochTime
187+
next <- liftIO $ (+ schedDelay * 2) <$> getEpochTime
187188
when (jSchedAt job < next) $ do
188189
w' <- schedJob job
189-
liftIO $ FL.insert sSchedJobQ (jHandle job) w'
190+
liftIO $ FL.insert taskList (jHandle job) w'
191+
192+
findTask :: (MonadIO m) => Job -> SchedT m (Maybe (Task m))
193+
findTask job = do
194+
taskList <- gets sTaskList
195+
liftIO $ FL.lookup taskList (jHandle job)
190196

191197
schedJob
192198
:: (MonadIO m, MonadBaseControl IO m)
193-
=> Job -> SchedT m (Async (StM (SchedT m) ()))
199+
=> Job -> SchedT m (Task m)
194200
schedJob job = async $ schedJob_ job
195201

196202
schedJob_ :: MonadIO m => Job -> SchedT m ()
197203
schedJob_ job@Job{..} = do
198204
SchedState{..} <- get
199-
now <- liftIO $ getEpochTime
205+
now <- liftIO getEpochTime
200206
when (jSchedAt > now) . liftIO . threadDelay . fromIntegral $ (jSchedAt - now) * 1000000
201207
FuncStat{..} <- liftIO . atomically $ do
202208
st <- FL.lookupSTM sFuncStatList jFuncName
@@ -245,7 +251,7 @@ schedJob_ job@Job{..} = do
245251
SchedState{..} <- get
246252
liftIO $ do
247253
JQ.removeJob sJobQueue jFuncName jName
248-
FL.delete sSchedJobQ (jHandle job)
254+
FL.delete sTaskList (jHandle job)
249255

250256
adjustFuncStat :: MonadIO m => FuncName -> SchedT m ()
251257
adjustFuncStat fn = do
@@ -279,10 +285,10 @@ removeJob job = do
279285

280286
adjustFuncStat (jFuncName job)
281287

282-
w <- liftIO $ FL.lookup sSchedJobQ (jHandle job)
288+
w <- findTask job
283289
when (isJust w) $ do
284290
cancel (fromJust w)
285-
liftIO $ FL.delete sSchedJobQ (jHandle job)
291+
liftIO $ FL.delete sTaskList (jHandle job)
286292

287293
dumpJob :: MonadIO m => SchedT m [Job]
288294
dumpJob = do
@@ -343,7 +349,7 @@ failJob jh = do
343349
SchedState{..} <- get
344350
job <- liftIO $ PQ.lookupJob sProcessJob fn jn
345351
when (isJust job) $ do
346-
nextSchedAt <- liftIO $ getEpochTime
352+
nextSchedAt <- liftIO getEpochTime
347353
retryJob ((fromJust job) {jSchedAt = nextSchedAt})
348354

349355
where (fn, jn) = unHandle jh
@@ -390,7 +396,7 @@ status = liftIO . FL.elems =<< gets sFuncStatList
390396

391397
revertProcessQueue :: (MonadIO m, MonadBaseControl IO m) => SchedT m ()
392398
revertProcessQueue = do
393-
now <- liftIO $ getEpochTime
399+
now <- liftIO getEpochTime
394400
queue <- gets sProcessJob
395401
mapM_ (failJob . jHandle)
396402
=<< filter (isTimeout now) <$> liftIO (PQ.dumpJob queue)
@@ -406,6 +412,6 @@ shutdown = do
406412
writeTVar sAlive False
407413
return t
408414
when alive $ do
409-
mapM_ cancel =<< liftIO (FL.elems sSchedJobQ)
415+
mapM_ cancel =<< liftIO (FL.elems sTaskList)
410416
saveJob
411417
void . async $ liftIO sCleanup

periodic-server/src/Periodic/Server/Worker.hs

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ initWorkerEnv connectionState connectionConfig schedState schedConfig = do
7373

7474
let periodicEnv = initEnv_ workerConfig connectionConfig $ handleAgentT workerConfig
7575
periodicState <- liftIO $ initPeriodicState connectionState
76-
return $ WorkerEnv{..}
76+
return WorkerEnv{..}
7777

7878
startWorkerT
7979
:: (MonadIO m, MonadBaseControl IO m, MonadCatch m)

0 commit comments

Comments
 (0)