Skip to content

Commit 3b1d3a1

Browse files
committed
Python: fix a few issues with retries and clean it up
1 parent 5e5d65b commit 3b1d3a1

File tree

1 file changed

+10
-16
lines changed

1 file changed

+10
-16
lines changed

python/templates/endpoint_module.py.jinja

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ from ... import errors
1313
{{ relative }}
1414
{% endfor %}
1515

16-
sleep_time = 0.05
17-
num_retries = 3
16+
SLEEP_TIME = 0.05
17+
NUM_RETRIES = 3
1818

1919
{% from "endpoint_macros.py.jinja" import header_params, cookie_params, query_params, json_body, multipart_body,
2020
arguments, client, kwargs, parse_response, docstring %}
@@ -103,17 +103,14 @@ def sync_detailed(
103103

104104
kwargs['headers'] = {'svix-req-id':f"{random.getrandbits(32)}", **kwargs['headers']}
105105

106-
retry_count = 0
107-
for retry in range(num_retries):
106+
for retry_count in range(NUM_RETRIES):
108107
response = httpx.request(
109108
verify=client.verify_ssl,
110109
**kwargs,
111110
)
112-
if response.status_code >= 500 and retry < num_retries:
113-
retry_count +=1
114-
kwargs['headers']['svix-retry-count']= str(retry_count)
115-
sleep(sleep_time)
116-
sleep_time = sleep_time * 2
111+
if response.status_code >= 500:
112+
kwargs['headers']['svix-retry-count'] = str(retry_count)
113+
sleep(SLEEP_TIME * (2 ** retry_count))
117114
else:
118115
break
119116

@@ -142,16 +139,13 @@ async def asyncio_detailed(
142139
kwargs['headers'] = {'svix-req-id':f"{random.getrandbits(32)}", **kwargs['headers']}
143140

144141
async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
145-
retry_count = 0
146-
for retry in range(num_retries):
142+
for retry_count in range(NUM_RETRIES):
147143
response = await _client.request(
148144
**kwargs
149145
)
150-
if response.status_code >= 500 and retry < num_retries:
151-
retry_count +=1
152-
kwargs['headers']['svix-retry-count']= str(retry_count)
153-
sleep(sleep_time)
154-
sleep_time = sleep_time * 2
146+
if response.status_code >= 500:
147+
kwargs['headers']['svix-retry-count'] = str(retry_count)
148+
sleep(SLEEP_TIME * (2 ** retry_count))
155149
else:
156150
break
157151

0 commit comments

Comments
 (0)