code: func NewTaskQueue(syncFn func(string) error) *taskQueue {
  	return &taskQueue{
  		queue:      workqueue.NewRateLimitingQueue(workqueue.DefaultControllerRateLimiter()),
  		sync:       syncFn,
  		workerDone: make(chan struct{}),
  	}
  }
docs: // NewTaskQueue creates a new task queue with the given sync function.
  // The sync function is called for every element inserted into the queue.