mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-11-01 14:22:17 +00:00
Use the generic/typed workqueue throughout
This change makes us use the generic workqueue throughout the project in order to improve type safety and readability of the code.
This commit is contained in:
@@ -54,7 +54,7 @@ type ResourceVersionController struct {
|
||||
metadataClient metadata.Interface
|
||||
svmListers svmlisters.StorageVersionMigrationLister
|
||||
svmSynced cache.InformerSynced
|
||||
queue workqueue.RateLimitingInterface
|
||||
queue workqueue.TypedRateLimitingInterface[string]
|
||||
kubeClient clientset.Interface
|
||||
mapper meta.ResettableRESTMapper
|
||||
}
|
||||
@@ -76,7 +76,10 @@ func NewResourceVersionController(
|
||||
svmListers: svmInformer.Lister(),
|
||||
svmSynced: svmInformer.Informer().HasSynced,
|
||||
mapper: mapper,
|
||||
queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), ResourceVersionControllerName),
|
||||
queue: workqueue.NewTypedRateLimitingQueueWithConfig(
|
||||
workqueue.DefaultTypedControllerRateLimiter[string](),
|
||||
workqueue.TypedRateLimitingQueueConfig[string]{Name: ResourceVersionControllerName},
|
||||
),
|
||||
}
|
||||
|
||||
_, _ = svmInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
|
||||
@@ -137,13 +140,12 @@ func (rv *ResourceVersionController) worker(ctx context.Context) {
|
||||
}
|
||||
|
||||
func (rv *ResourceVersionController) processNext(ctx context.Context) bool {
|
||||
eKey, quit := rv.queue.Get()
|
||||
key, quit := rv.queue.Get()
|
||||
if quit {
|
||||
return false
|
||||
}
|
||||
defer rv.queue.Done(eKey)
|
||||
defer rv.queue.Done(key)
|
||||
|
||||
key := eKey.(string)
|
||||
err := rv.sync(ctx, key)
|
||||
if err == nil {
|
||||
rv.queue.Forget(key)
|
||||
|
||||
@@ -55,7 +55,7 @@ type SVMController struct {
|
||||
dynamicClient *dynamic.DynamicClient
|
||||
svmListers svmlisters.StorageVersionMigrationLister
|
||||
svmSynced cache.InformerSynced
|
||||
queue workqueue.RateLimitingInterface
|
||||
queue workqueue.TypedRateLimitingInterface[string]
|
||||
restMapper meta.RESTMapper
|
||||
dependencyGraphBuilder *garbagecollector.GraphBuilder
|
||||
}
|
||||
@@ -79,7 +79,10 @@ func NewSVMController(
|
||||
svmSynced: svmInformer.Informer().HasSynced,
|
||||
restMapper: mapper,
|
||||
dependencyGraphBuilder: dependencyGraphBuilder,
|
||||
queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), controllerName),
|
||||
queue: workqueue.NewTypedRateLimitingQueueWithConfig(
|
||||
workqueue.DefaultTypedControllerRateLimiter[string](),
|
||||
workqueue.TypedRateLimitingQueueConfig[string]{Name: controllerName},
|
||||
),
|
||||
}
|
||||
|
||||
_, _ = svmInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
|
||||
@@ -146,13 +149,12 @@ func (svmc *SVMController) worker(ctx context.Context) {
|
||||
}
|
||||
|
||||
func (svmc *SVMController) processNext(ctx context.Context) bool {
|
||||
svmKey, quit := svmc.queue.Get()
|
||||
key, quit := svmc.queue.Get()
|
||||
if quit {
|
||||
return false
|
||||
}
|
||||
defer svmc.queue.Done(svmKey)
|
||||
defer svmc.queue.Done(key)
|
||||
|
||||
key := svmKey.(string)
|
||||
err := svmc.sync(ctx, key)
|
||||
if err == nil {
|
||||
svmc.queue.Forget(key)
|
||||
|
||||
Reference in New Issue
Block a user