Versions in this module Expand all Collapse all v0 v0.1.0 Mar 24, 2021 Changes in this version + var ErrIsRunning = errors.New("runner is running") + var RunningRunners sync.Map = sync.Map + func CheckaliveForever(interval time.Duration, ...) + type Handler interface + Handle func() + OnExit func() + OnStart func() error + type IRunner interface + IsTimeout func(curTime time.Time) bool + KeepAlive func() + Name func() string + Start func() error + Stop func() + type NoopHandler struct + func (h *NoopHandler) Handle() + func (h *NoopHandler) OnExit() + func (h *NoopHandler) OnStart() error + type Runner struct + Interval time.Duration + Logger io.Writer + Timeout time.Duration + func NewRunner(handler Handler, name string, interval time.Duration) *Runner + func (r *Runner) IsTimeout(curTime time.Time) bool + func (r *Runner) KeepAlive() + func (r *Runner) LastHandleTime() time.Time + func (r *Runner) Name() string + func (r *Runner) Start() error + func (r *Runner) Stop()