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:
139139 the backoff factor.
140140 :type enable_retry: bool
141141 :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
143143 :param max_retries: The maximum number of times a single request can be retried.
144144 :type max_retries: int
145145 """
@@ -361,6 +361,26 @@ class Configuration:
361361 self._logger_format = value
362362 self.logger_formatter = logging.Formatter(self._logger_format)
363363
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+
364384 def get_api_key_with_prefix(self, identifier, alias=None):
365385 """Gets API key (with prefix if set).
366386
Original file line number Diff line number Diff line change @@ -69,8 +69,8 @@ class RESTClientObject:
6969
7070 if configuration.enable_retry:
7171 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,
7474 )
7575 addition_pool_args["retries"] = retries
7676
Original file line number Diff line number Diff line change @@ -140,7 +140,7 @@ class Configuration:
140140 the backoff factor.
141141 :type enable_retry: bool
142142 :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
144144 :param max_retries: The maximum number of times a single request can be retried.
145145 :type max_retries: int
146146 """
@@ -397,6 +397,26 @@ def logger_format(self, value):
397397 self ._logger_format = value
398398 self .logger_formatter = logging .Formatter (self ._logger_format )
399399
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+
400420 def get_api_key_with_prefix (self , identifier , alias = None ):
401421 """Gets API key (with prefix if set).
402422
Original file line number Diff line number Diff line change 11from unittest import mock
2+ import pytest
23import vcr
34
45from datadog_api_client .api_client import ApiClient
@@ -33,3 +34,11 @@ def test_retry_rate_limit(sleep_mock):
3334 assert sleep_mock .call_args_list [0 ][0 ][0 ] == 3
3435 assert sleep_mock .call_args_list [1 ][0 ][0 ] == 2
3536 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