úÎ/K-     NoneI#Type synonym for a watchdog logger.DThe Watchdog monad. Used to configure and eventually run a watchdog.As with N, but don't specify a default logging action to allow it to be polymorphic.„Set the initial delay in microseconds. The first time the watchdog pauses will be for this amount of time. The default is 1 second.ÛSet the maximum delay in microseconds. When a task fails to execute properly multiple times in quick succession, the delay is doubled each time until it stays constant at the maximum delay. The default is 300 seconds.ÿRIf a task has been running for some time, the watchdog will consider the next failure to be something unrelated and reset the waiting time back to the initial delay. This function sets the amount of time in microseconds that needs to pass before the watchdog will consider a task to be successfully running. The default is 30 seconds.“Set the number of retries after which the watchdog will give up and return with a permanent error. This setting is only used in combination with  . The default is 10.[Set the logging action that will be called by the watchdog. The supplied function of type A will be provided with the error message of the task and either Ÿ if the watchdog will retry immediately or 'Just delay' if the watchdog will now pause for the specified amount of time before trying again. The default is  . nWatch a task, restarting it potentially forever or until it returns with a result. The task should return an , where < in combination with an error message signals an error and + with an arbitrary result signals success. BWatch a task, but only restart it a limited number of times (see 5). If the failure persists, it will be returned as a , otherwise it will be  with the result of the task. )The default logging action. It will call # and display the result on STDOUT. As with   , but calls  on the value provided. ,Disable logging by passing this function to .AFormat the watchdog status report. Will produce output like this: –Watchdog: Error executing task (some error) - trying again immediately. Watchdog: Error executing task (some error) - waiting 1s before trying again. LHelper class which can be wrapped around a task. The task should return an ã, where Left in combination with an error message signals an error and Right with an arbitrary result signals success. In case of failure, the wrapper will check whether the function ran less than 30 seconds and then return  or  accordingly. !Error value returned by the task.,Waiting time - if any - before trying again. !"#$%&'()* #Error message returned by the task.,Waiting time - if any - before trying again.    !"#$%&'()* +      !"#$%&''()*+,-./0#watchdog-0.3-2yruYIzAdhiJyzFnQVLe3zControl.WatchdogWatchdogLoggerWatchdogActionwatchdog watchdogBlanksetInitialDelaysetMaximumDelaysetResetDurationsetMaximumRetriessetLoggingActionwatchwatchImpatiently defaultLogger showLogger silentLoggerformatWatchdogError$fFunctorWatchdogAction$fApplicativeWatchdogAction$fAlternativeWatchdogAction$fMonadWatchdogAction$fMonadIOWatchdogAction$fMonadStateWatchdogActionbaseGHC.BaseNothing Data.EitherEitherLeftRightGHC.ShowshowtimeTaskFailedImmediatelyFailedAfterAWhileWArunWAWatchdogTaskStatusCompletedSuccessfully WatchdogStatewcInitialDelaywcMaximumDelaywcResetDurationwcMaximumRetrieswcLoggingAction defaultConf blankConf watchdogWith