diff --git a/meraki/rest_session.py b/meraki/rest_session.py index b9779734..ecc3fd25 100644 --- a/meraki/rest_session.py +++ b/meraki/rest_session.py @@ -257,12 +257,12 @@ def request(self, metadata, method, url, **kwargs): case 429: # Retry if 429 retries are enabled and there are retries left if self._wait_on_rate_limit and retries > 0: - if 'Retry-After' in response.headers: + if False and 'Retry-After' in response.headers: wait = int(response.headers['Retry-After']) else: wait = random.randint(1, self._nginx_429_retry_wait_time) if self._logger: - self._logger.warning(f'{tag}, {operation} - {status} {reason}, retrying in {wait} seconds') + self._logger.warning(f'{tag}, {operation} - {status} {reason} {retries}, retrying in {wait} seconds') time.sleep(wait) retries -= 1 if retries == 0: @@ -272,9 +272,10 @@ def request(self, metadata, method, url, **kwargs): raise APIError(metadata, response) # Handle 5xx errors case status if 500 <= status: + wait = random.randint(1, self._nginx_429_retry_wait_time) if self._logger: - self._logger.warning(f'{tag}, {operation} - {status} {reason}, retrying in 1 second') - time.sleep(1) + self._logger.warning(f'{tag}, {operation} - {status} {reason} {retries}, retrying in {wait} second') + time.sleep(wait) retries -= 1 if retries == 0: raise APIError(metadata, response) @@ -311,7 +312,7 @@ def handle_4xx_errors(self, metadata, operation, reason, response, retries, stat if network_delete_concurrency_error_text in message['errors'][0]: wait = random.randint(30, self._network_delete_retry_wait_time) if self._logger: - self._logger.warning(f'{tag}, {operation} - {status} {reason}, retrying in {wait} seconds') + self._logger.warning(f'{tag}, {operation} - {status} {reason} {retries}, retrying in {wait} seconds') time.sleep(wait) retries -= 1 if retries == 0: @@ -324,7 +325,7 @@ def handle_4xx_errors(self, metadata, operation, reason, response, retries, stat in message['errors'][0]): wait = self._action_batch_retry_wait_time if self._logger: - self._logger.warning(f'{tag}, {operation} - {status} {reason}, retrying in {wait} seconds') + self._logger.warning(f'{tag}, {operation} - {status} {reason} {retries}, retrying in {wait} seconds') time.sleep(wait) retries -= 1 if retries == 0: @@ -334,7 +335,7 @@ def handle_4xx_errors(self, metadata, operation, reason, response, retries, stat elif self._retry_4xx_error: wait = random.randint(1, self._retry_4xx_error_wait_time) if self._logger: - self._logger.warning(f'{tag}, {operation} - {status} {reason}, retrying in {wait} seconds') + self._logger.warning(f'{tag}, {operation} - {status} {reason} {retries}, retrying in {wait} seconds') time.sleep(wait) retries -= 1 if retries == 0: