Use typed queue in Customresource Discovery Controller

This commit is contained in:
Alvaro Aleman 2024-04-11 20:35:21 -04:00
parent 0c7370bb85
commit ab4e555ab1

View File

@ -53,7 +53,7 @@ type DiscoveryController struct {
// To allow injection for testing. // To allow injection for testing.
syncFn func(version schema.GroupVersion) error syncFn func(version schema.GroupVersion) error
queue workqueue.RateLimitingInterface queue workqueue.TypedRateLimitingInterface[schema.GroupVersion]
} }
func NewDiscoveryController( func NewDiscoveryController(
@ -69,7 +69,10 @@ func NewDiscoveryController(
crdLister: crdInformer.Lister(), crdLister: crdInformer.Lister(),
crdsSynced: crdInformer.Informer().HasSynced, crdsSynced: crdInformer.Informer().HasSynced,
queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "DiscoveryController"), queue: workqueue.NewTypedRateLimitingQueueWithConfig(
workqueue.DefaultTypedControllerRateLimiter[schema.GroupVersion](),
workqueue.TypedRateLimitingQueueConfig[schema.GroupVersion]{Name: "DiscoveryController"},
),
} }
crdInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ crdInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
@ -337,7 +340,7 @@ func (c *DiscoveryController) processNextWorkItem() bool {
} }
defer c.queue.Done(key) defer c.queue.Done(key)
err := c.syncFn(key.(schema.GroupVersion)) err := c.syncFn(key)
if err == nil { if err == nil {
c.queue.Forget(key) c.queue.Forget(key)
return true return true