code: func (a *HorizontalController) enqueueHPA(obj interface{}) {
  	key, err := controller.KeyFunc(obj)
  	if err != nil {
  		utilruntime.HandleError(fmt.Errorf("couldn't get key for object %+v: %v", obj, err))
  		return
  	}
  
  	// Requests are always added to queue with resyncPeriod delay.  If there's already
  	// request for the HPA in the queue then a new request is always dropped. Requests spend resync
  	// interval in queue so HPAs are processed every resync interval.
  	a.queue.AddRateLimited(key)
  }
docs: // obj could be an *v1.HorizontalPodAutoscaler, or a DeletionFinalStateUnknown marker item.