File tree Expand file tree Collapse file tree 4 files changed +53
-4
lines changed
.generator/src/generator/templates Expand file tree Collapse file tree 4 files changed +53
-4
lines changed Original file line number Diff line number Diff line change @@ -139,7 +139,7 @@ class Configuration:
139
139
the backoff factor.
140
140
:type enable_retry: bool
141
141
:param retry_backoff_factor: Factor used to space out retried requests on backend errors.
142
- :type retry_backoff_factor: int
142
+ :type retry_backoff_factor: float
143
143
:param max_retries: The maximum number of times a single request can be retried.
144
144
:type max_retries: int
145
145
"""
@@ -361,6 +361,26 @@ class Configuration:
361
361
self._logger_format = value
362
362
self.logger_formatter = logging.Formatter(self._logger_format)
363
363
364
+ @property
365
+ def retry_backoff_factor(self):
366
+ """Retry backoff factor.
367
+
368
+ :return: The backoff factor, float
369
+ :rtype: float
370
+ """
371
+ return self._retry_backoff_factor
372
+
373
+ @retry_backoff_factor.setter
374
+ def retry_backoff_factor(self, value):
375
+ """Retry backoff factor.
376
+
377
+ :param value: The backoff factor used to calculate intervals between retry attempts
378
+ :type value: float
379
+ """
380
+ if value < 2:
381
+ raise ValueError("Retry backoff factor cannot be smaller than 2")
382
+ self._retry_backoff_factor = value
383
+
364
384
def get_api_key_with_prefix(self, identifier, alias=None):
365
385
"""Gets API key (with prefix if set).
366
386
Original file line number Diff line number Diff line change @@ -69,8 +69,8 @@ class RESTClientObject:
69
69
70
70
if configuration.enable_retry:
71
71
retries = ClientRetry(
72
- total= configuration.max_retries,
73
- backoff_factor= configuration.retry_backoff_factor,
72
+ total = configuration.max_retries,
73
+ backoff_factor = configuration.retry_backoff_factor,
74
74
)
75
75
addition_pool_args["retries"] = retries
76
76
Original file line number Diff line number Diff line change @@ -140,7 +140,7 @@ class Configuration:
140
140
the backoff factor.
141
141
:type enable_retry: bool
142
142
:param retry_backoff_factor: Factor used to space out retried requests on backend errors.
143
- :type retry_backoff_factor: int
143
+ :type retry_backoff_factor: float
144
144
:param max_retries: The maximum number of times a single request can be retried.
145
145
:type max_retries: int
146
146
"""
@@ -397,6 +397,26 @@ def logger_format(self, value):
397
397
self ._logger_format = value
398
398
self .logger_formatter = logging .Formatter (self ._logger_format )
399
399
400
+ @property
401
+ def retry_backoff_factor (self ):
402
+ """Retry backoff factor.
403
+
404
+ :return: The backoff factor, float
405
+ :rtype: float
406
+ """
407
+ return self ._retry_backoff_factor
408
+
409
+ @retry_backoff_factor .setter
410
+ def retry_backoff_factor (self , value ):
411
+ """Retry backoff factor.
412
+
413
+ :param value: The backoff factor used to calculate intervals between retry attempts
414
+ :type value: float
415
+ """
416
+ if value < 2 :
417
+ raise ValueError ("Retry backoff factor cannot be smaller than 2" )
418
+ self ._retry_backoff_factor = value
419
+
400
420
def get_api_key_with_prefix (self , identifier , alias = None ):
401
421
"""Gets API key (with prefix if set).
402
422
Original file line number Diff line number Diff line change 1
1
from unittest import mock
2
+ import pytest
2
3
import vcr
3
4
4
5
from datadog_api_client .api_client import ApiClient
@@ -33,3 +34,11 @@ def test_retry_rate_limit(sleep_mock):
33
34
assert sleep_mock .call_args_list [0 ][0 ][0 ] == 3
34
35
assert sleep_mock .call_args_list [1 ][0 ][0 ] == 2
35
36
assert sleep_mock .call_args_list [2 ][0 ][0 ] == 1
37
+
38
+
39
+ def test_retry_backoff_factor_validation ():
40
+ configuration = Configuration ()
41
+ with pytest .raises (ValueError ):
42
+ configuration .retry_backoff_factor = 1
43
+
44
+ configuration .retry_backoff_factor = 3
You can’t perform that action at this time.
0 commit comments