code: func (t *taskQueue) worker() {
  	for {
  		key, quit := t.queue.Get()
  		if quit {
  			close(t.workerDone)
  			return
  		}
  		glog.V(3).Infof("syncing %v", key)
  		if err := t.sync(key.(string)); err != nil {
  			glog.V(3).Infof("requeuing %v, err %v", key, err)
  			t.requeue(key.(string))
  		} else {
  			t.queue.Forget(key)
  		}
  
  		t.queue.Done(key)
  	}
  }
docs: // worker processes work in the queue through sync.