From 2ad0ead72b51c0e518d685ce27030145c511ec70 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 11 Aug 2020 18:14:22 +0200 Subject: [PATCH] Fix shutdown of failing service workers --- modules/worker.go | 6 +++++- updater/resource.go | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/worker.go b/modules/worker.go index 12682e6..4b8bd43 100644 --- a/modules/worker.go +++ b/modules/worker.go @@ -90,7 +90,11 @@ func (m *Module) runServiceWorker(name string, backoffDuration time.Duration, fn // log error sleepFor := time.Duration(failCnt) * backoffDuration log.Errorf("%s: service-worker %s failed (%d): %s - restarting in %s", m.Name, name, failCnt, err, sleepFor) - time.Sleep(sleepFor) + select { + case <-time.After(sleepFor): + case <-m.Ctx.Done(): + return + } // loop to restart } else { log.Infof("%s: service-worker %s %s - restarting now", m.Name, name, err) diff --git a/updater/resource.go b/updater/resource.go index 134f0c3..533525f 100644 --- a/updater/resource.go +++ b/updater/resource.go @@ -227,7 +227,7 @@ func (res *Resource) selectVersion() { // export after we finish defer func() { - log.Debugf("updater: selected version %s for resource %s", res.SelectedVersion, res.Identifier) + log.Tracef("updater: selected version %s for resource %s", res.SelectedVersion, res.Identifier) if res.inUse() && res.SelectedVersion != res.ActiveVersion && // new selected version does not match previously selected version