Skip to content

Commit 8a1eef6

Browse files
Allow controller builder to set ready timeout
1 parent edfdfcc commit 8a1eef6

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

extended/src/main/java/io/kubernetes/client/extended/controller/builder/DefaultControllerBuilder.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,19 @@
1313
package io.kubernetes.client.extended.controller.builder;
1414

1515
import io.kubernetes.client.common.KubernetesObject;
16-
import io.kubernetes.client.extended.controller.*;
16+
import io.kubernetes.client.extended.controller.Controller;
17+
import io.kubernetes.client.extended.controller.ControllerWatch;
18+
import io.kubernetes.client.extended.controller.Controllers;
19+
import io.kubernetes.client.extended.controller.DefaultController;
1720
import io.kubernetes.client.extended.controller.reconciler.Reconciler;
1821
import io.kubernetes.client.extended.controller.reconciler.Request;
1922
import io.kubernetes.client.extended.workqueue.DefaultRateLimitingQueue;
2023
import io.kubernetes.client.extended.workqueue.RateLimitingQueue;
2124
import io.kubernetes.client.extended.workqueue.WorkQueue;
2225
import io.kubernetes.client.informer.SharedIndexInformer;
2326
import io.kubernetes.client.informer.SharedInformerFactory;
27+
28+
import java.time.Duration;
2429
import java.util.ArrayList;
2530
import java.util.List;
2631
import java.util.concurrent.Executors;
@@ -33,6 +38,7 @@ public class DefaultControllerBuilder {
3338
private int workerCount;
3439
private String controllerName;
3540
private RateLimitingQueue<Request> workQueue;
41+
private Duration readyTimeout;
3642

3743
private SharedInformerFactory informerFactory;
3844
private List<Supplier<Boolean>> readyFuncs;
@@ -114,6 +120,11 @@ public DefaultControllerBuilder withReadyFunc(Supplier<Boolean> readyFunc) {
114120
return this;
115121
}
116122

123+
public DefaultControllerBuilder withReadyTimeout(Duration readyTimeout) {
124+
this.readyTimeout = readyTimeout;
125+
return this;
126+
}
127+
117128
/**
118129
* Overrides worker thread counts of the controller.
119130
*
@@ -154,6 +165,9 @@ public Controller build() throws IllegalStateException {
154165
this.workQueue,
155166
this.readyFuncs.stream().toArray(Supplier[]::new));
156167

168+
if (this.readyTimeout != null) {
169+
controller.setReadyTimeout(this.readyTimeout);
170+
}
157171
controller.setWorkerCount(this.workerCount);
158172
controller.setWorkerThreadPool(
159173
Executors.newScheduledThreadPool(

0 commit comments

Comments
 (0)