X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f3203e42412d5b5216b2c70caae47b73b712d18c..65b12213f740b117fb14822bce0dbb415257c355:/lib/controller/trash.go diff --git a/lib/controller/trash.go b/lib/controller/trash.go index 9a7b0814ce..99e7aec0b6 100644 --- a/lib/controller/trash.go +++ b/lib/controller/trash.go @@ -20,10 +20,16 @@ func (h *Handler) periodicWorker(workerName string, interval time.Duration, lock logger.Debugf("interval is %v, not running worker", interval) return } - locker.Lock(ctx, h.db) + if !locker.Lock(ctx, h.dbConnector.GetDB) { + // context canceled + return + } defer locker.Unlock() for time.Sleep(interval); ctx.Err() == nil; time.Sleep(interval) { - locker.Check() + if !locker.Check() { + // context canceled + return + } err := run(ctx) if err != nil { logger.WithError(err).Infof("%s failed", workerName) @@ -41,7 +47,7 @@ func (h *Handler) trashSweepWorker() { func (h *Handler) containerLogSweepWorker() { h.periodicWorker("container log sweep", h.Cluster.Containers.Logging.SweepInterval.Duration(), dblock.ContainerLogSweep, func(ctx context.Context) error { - db, err := h.db(ctx) + db, err := h.dbConnector.GetDB(ctx) if err != nil { return err }