diff --git a/main.go b/main.go index 81c773f..3817cfc 100644 --- a/main.go +++ b/main.go @@ -94,16 +94,28 @@ func parseOutStates(b []byte) []config.State { func _main() error { for { - if err := config.Refresh(); err != nil { - return err - } - if err := once(); err != nil { - return err + err := _mainOne() + if err != nil { + log.Println(err) } if config.Get().Once { - break + return err } - time.Sleep(config.Get().Interval.Get()) + if err != nil { + time.Sleep(config.Get().Interval.Error.Get()) + } else { + time.Sleep(config.Get().Interval.OK.Get()) + } + } + return nil +} + +func _mainOne() error { + if err := config.Refresh(); err != nil { + return err + } + if err := once(); err != nil { + return err } return nil }