Skip to content

Commit 4104cda

Browse files
rest_session improvements
Network concurrency deletion improvements.
1 parent be1be15 commit 4104cda

3 files changed

Lines changed: 4 additions & 4 deletions

File tree

meraki/aio/rest_session.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import urllib.parse
77
import asyncio
88
import ssl
9+
import time
910

1011

1112
import aiohttp
@@ -227,7 +228,6 @@ async def _request(self, metadata, method, url, **kwargs):
227228
]
228229
# Rate limit 429 errors
229230
elif status == 429:
230-
wait = 0
231231
if "Retry-After" in response.headers:
232232
wait = int(response.headers["Retry-After"])
233233
else:
@@ -264,7 +264,7 @@ async def _request(self, metadata, method, url, **kwargs):
264264
# Check specifically for network delete concurrency error
265265
if message_is_dict and 'errors' in message.keys() \
266266
and network_delete_concurrency_error_text in message['errors'][0]:
267-
wait = self._network_delete_retry_wait_time
267+
wait = random.randint(15, self._network_delete_retry_wait_time)
268268
if self._logger:
269269
self._logger.warning(f'{tag}, {operation} - {status} {reason}, retrying in {wait} seconds')
270270
time.sleep(wait)

meraki/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
ACTION_BATCH_RETRY_WAIT_TIME = 60
2626

2727
# Network deletion concurrency error retry wait time
28-
NETWORK_DELETE_RETRY_WAIT_TIME = 120
28+
NETWORK_DELETE_RETRY_WAIT_TIME = 180
2929

3030
# Retry if encountering other 4XX error (besides 429)?
3131
RETRY_4XX_ERROR = False

meraki/rest_session.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ def request(self, metadata, method, url, **kwargs):
284284
# Check specifically for network delete concurrency error
285285
if message_is_dict and 'errors' in message.keys() \
286286
and network_delete_concurrency_error_text in message['errors'][0]:
287-
wait = self._network_delete_retry_wait_time
287+
wait = random.randint(15, self._network_delete_retry_wait_time)
288288
if self._logger:
289289
self._logger.warning(f'{tag}, {operation} - {status} {reason}, retrying in {wait} seconds')
290290
time.sleep(wait)

0 commit comments

Comments
 (0)