package watchdog import ( "context" "time" ) // CheckFunc is a function that does the actual work. // This package provides a number of check functions but // any function matching the signature may be provided. // It must obey context dealine and cancellation. type CheckFunc func(context.Context) error // Check represents a check that must be run by Watchdog. type Check struct { Name string // indentifier of this check Interval time.Duration // how often the check must run (if running periodically with Start method) Check CheckFunc // function to run } type CheckResult struct { Name string // identifier of check Error error // error returned by CheckFunc }