diff options
Diffstat (limited to 'plugin/clouddns/clouddns.go')
-rw-r--r-- | plugin/clouddns/clouddns.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/plugin/clouddns/clouddns.go b/plugin/clouddns/clouddns.go index 371832440..4556ecac6 100644 --- a/plugin/clouddns/clouddns.go +++ b/plugin/clouddns/clouddns.go @@ -82,12 +82,16 @@ func (h *CloudDNS) Run(ctx context.Context) error { return err } go func() { + delay := 1 * time.Minute + timer := time.NewTimer(delay) + defer timer.Stop() for { + timer.Reset(delay) select { case <-ctx.Done(): log.Debugf("Breaking out of CloudDNS update loop for %v: %v", h.zoneNames, ctx.Err()) return - case <-time.After(1 * time.Minute): + case <-timer.C: if err := h.updateZones(ctx); err != nil && ctx.Err() == nil /* Don't log error if ctx expired. */ { log.Errorf("Failed to update zones %v: %v", h.zoneNames, err) } |