Skip to content

Commit 1c37e87

Browse files
make too many requests backoff configurable
1 parent 49ee00c commit 1c37e87

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

kafka-connect-fitbit-source/src/main/java/org/radarbase/connect/rest/fitbit/FitbitRestSourceConnectorConfig.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,10 @@ public class FitbitRestSourceConnectorConfig extends RestSourceConnectorConfig {
254254
private static final String FITBIT_FORBIDDEN_BACKOFF_DISPLAY = "Forbidden backoff time (s)";
255255
private static final int FITBIT_FORBIDDEN_BACKOFF_DEFAULT = 86400; // 24 hours
256256

257+
public static final String FITBIT_TOO_MANY_REQUESTS_COOLDOWN_CONFIG = "fitbit.too.many.requests.cooldown.s";
258+
private static final String FITBIT_TOO_MANY_REQUESTS_COOLDOWN_DOC = "Cooldown time in seconds after receiving too many requests (429) response.";
259+
private static final String FITBIT_TOO_MANY_REQUESTS_COOLDOWN_DISPLAY = "Too many requests cooldown (s)";
260+
private static final int FITBIT_TOO_MANY_REQUESTS_COOLDOWN_DEFAULT = 3600; // 1 hour
257261

258262
private UserRepository userRepository;
259263
private final Headers clientCredentials;
@@ -689,6 +693,16 @@ public String toString() {
689693
++orderInGroup,
690694
Width.SHORT,
691695
FITBIT_FORBIDDEN_BACKOFF_DISPLAY)
696+
697+
.define(FITBIT_TOO_MANY_REQUESTS_COOLDOWN_CONFIG,
698+
Type.INT,
699+
FITBIT_TOO_MANY_REQUESTS_COOLDOWN_DEFAULT,
700+
Importance.MEDIUM,
701+
FITBIT_TOO_MANY_REQUESTS_COOLDOWN_DOC,
702+
group,
703+
++orderInGroup,
704+
Width.SHORT,
705+
FITBIT_TOO_MANY_REQUESTS_COOLDOWN_DISPLAY)
692706
;
693707
}
694708

@@ -849,7 +863,7 @@ public Duration getPollIntervalPerUser() {
849863
}
850864

851865
public Duration getTooManyRequestsCooldownInterval() {
852-
return Duration.ofHours(1);
866+
return Duration.ofSeconds(getInt(FITBIT_TOO_MANY_REQUESTS_COOLDOWN_CONFIG));
853867
}
854868

855869
public String getFitbitIntradayCaloriesTopic() {

0 commit comments

Comments
 (0)