From 35e66962daea42b8964dbf76ca92b7619f387e02 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Thu, 4 Feb 2016 22:03:50 +0000 Subject: docs --- server/src/Thermoprint/Server/Queue.hs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'server/src') diff --git a/server/src/Thermoprint/Server/Queue.hs b/server/src/Thermoprint/Server/Queue.hs index bae9617..cfe0970 100644 --- a/server/src/Thermoprint/Server/Queue.hs +++ b/server/src/Thermoprint/Server/Queue.hs @@ -60,6 +60,7 @@ data QueueEntry = QueueEntry } deriving (Typeable, Generic, NFData) +-- | A queue manager periodically modifies a 'Queue', e.g. for cleanup of old jobs type QueueManager t = ComposeT (StateT Queue) t STM DiffTime runQM :: ( HasQueue q @@ -68,6 +69,7 @@ runQM :: ( HasQueue q , MonadIO (t IO) , Monad (t STM) ) => QueueManager t -> q -> t IO () +-- ^ Periodically modify a 'Queue' runQM qm (extractQueue -> q) = forever $ liftIO . threadDelay . toMicro =<< qm' where qm' = hoist atomically $ (\(a, s) -> lift (writeTVar q s) >> return a) =<< runStateT (getComposeT qm) =<< lift (readTVar q) -- cgit v1.2.3