-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Configure and run recurring jobs indefinitely @package looper @version 0.2.0.1 module Looper -- | A looper definition data LooperDef m LooperDef :: Text -> Bool -> NominalDiffTime -> NominalDiffTime -> m () -> LooperDef m -- | The name of the looper, can be useful for logging [looperDefName] :: LooperDef m -> Text -- | Whether this looper is enabled [looperDefEnabled] :: LooperDef m -> Bool -- | The time between the start of each run [looperDefPeriod] :: LooperDef m -> NominalDiffTime -- | The time before the first run [looperDefPhase] :: LooperDef m -> NominalDiffTime -- | The function to run [looperDefFunc] :: LooperDef m -> m () -- | Construct a NominalDiffTime from a number of seconds seconds :: Double -> NominalDiffTime -- | Construct a NominalDiffTime from a number of minutes minutes :: Double -> NominalDiffTime -- | Construct a NominalDiffTime from a number of hours hours :: Double -> NominalDiffTime -- | A structure to parse command-line flags for a looper into data LooperFlags LooperFlags :: Maybe Bool -> Maybe Word -> Maybe Word -> LooperFlags [looperFlagEnabled] :: LooperFlags -> Maybe Bool [looperFlagPhase] :: LooperFlags -> Maybe Word [looperFlagPeriod] :: LooperFlags -> Maybe Word -- | An optparse applicative parser for LooperFlags getLooperFlags :: String -> Parser LooperFlags -- | A structure to parse environment variables for a looper into data LooperEnvironment LooperEnvironment :: Maybe Bool -> Maybe Word -> Maybe Word -> LooperEnvironment [looperEnvEnabled] :: LooperEnvironment -> Maybe Bool [looperEnvPhase] :: LooperEnvironment -> Maybe Word [looperEnvPeriod] :: LooperEnvironment -> Maybe Word -- | Get a LooperEnvironment from the environment getLooperEnvironment :: String -> String -> IO LooperEnvironment -- | Get a LooperEnvironment from a pure environment readLooperEnvironment :: String -> String -> [(String, String)] -> LooperEnvironment -- | An envparse parser for a LooperEnvironment looperEnvironmentParser :: String -> Parser Error LooperEnvironment -- | A structure to configuration for a looper into data LooperConfiguration LooperConfiguration :: Maybe Bool -> Maybe Word -> Maybe Word -> LooperConfiguration [looperConfEnabled] :: LooperConfiguration -> Maybe Bool [looperConfPhase] :: LooperConfiguration -> Maybe Word [looperConfPeriod] :: LooperConfiguration -> Maybe Word -- | Settings that you might want to pass into a looper using -- mkLooperDef data LooperSettings LooperSettings :: Bool -> NominalDiffTime -> NominalDiffTime -> LooperSettings [looperSetEnabled] :: LooperSettings -> Bool [looperSetPhase] :: LooperSettings -> NominalDiffTime [looperSetPeriod] :: LooperSettings -> NominalDiffTime deriveLooperSettings :: NominalDiffTime -> NominalDiffTime -> LooperFlags -> LooperEnvironment -> Maybe LooperConfiguration -> LooperSettings mkLooperDef :: Text -> LooperSettings -> m () -> LooperDef m -- | Simply run loopers -- --
--   runLoopers = runLoopersIgnoreOverrun looperDefFunc
--   
-- -- see runLoopersIgnoreOverrun -- -- Note that this function will loop forever, you need to wrap it using -- async yourself. runLoopers :: MonadUnliftIO m => [LooperDef m] -> m () -- | Run loopers with a custom runner, ignoring any overruns -- --
--   runLoopersIgnoreOverrun = runLoopersRaw (pure ())
--   
-- -- see runLoopersRaw -- -- Note that this function will loop forever, you need to wrap it using -- async yourself. runLoopersIgnoreOverrun :: (MonadUnliftIO m, MonadUnliftIO n) => (LooperDef m -> n ()) -> [LooperDef m] -> n () -- | Run loopers, with a custom runner and overrun handler -- -- -- -- Note that this function will loop forever, you need to wrap it using -- async yourself. runLoopersRaw :: (MonadUnliftIO m, MonadUnliftIO n) => (LooperDef m -> n ()) -> (LooperDef m -> n ()) -> [LooperDef m] -> n () -- | Wait for a given NominalDiffTime -- -- This takes care of the conversion to microseconds to pass to -- threadDelay for you. -- --
--   waitNominalDiffTime ndt = liftIO $ threadDelay $ round (toRational ndt * (1000 * 1000))
--   
waitNominalDiffTime :: MonadIO m => NominalDiffTime -> m () instance GHC.Generics.Generic (Looper.LooperDef m) instance GHC.Generics.Generic Looper.LooperFlags instance GHC.Classes.Eq Looper.LooperFlags instance GHC.Show.Show Looper.LooperFlags instance GHC.Generics.Generic Looper.LooperEnvironment instance GHC.Classes.Eq Looper.LooperEnvironment instance GHC.Show.Show Looper.LooperEnvironment instance Data.Aeson.Types.ToJSON.ToJSON Looper.LooperConfiguration instance Data.Aeson.Types.FromJSON.FromJSON Looper.LooperConfiguration instance GHC.Generics.Generic Looper.LooperConfiguration instance GHC.Classes.Eq Looper.LooperConfiguration instance GHC.Show.Show Looper.LooperConfiguration instance GHC.Generics.Generic Looper.LooperSettings instance GHC.Classes.Eq Looper.LooperSettings instance GHC.Show.Show Looper.LooperSettings instance Autodocodec.Class.HasCodec Looper.LooperConfiguration