diff --git a/core/pkg/task/queue.go b/core/pkg/task/queue.go index 9c5d647191..a25d0e1797 100644 --- a/core/pkg/task/queue.go +++ b/core/pkg/task/queue.go @@ -82,17 +82,16 @@ func (t *Queue) worker() { close(t.workerDone) return } - defer t.queue.Done(key) glog.V(3).Infof("syncing %v", key) - err := t.sync(key) - if err == nil { + if err := t.sync(key); err != nil { + glog.Warningf("requeuing %v, err %v", key, err) + t.queue.AddRateLimited(key) + } else { t.queue.Forget(key) - return } - glog.Warningf("requeuing %v, err %v", key, err) - t.queue.AddRateLimited(key) + t.queue.Done(key) } }