Skip to content

Commit 5b4f66b

Browse files
committed
fix: handle non-integer Retry-After values in GraphQL retry
Fixes #18
1 parent 04ceeb1 commit 5b4f66b

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

‎shopify_app/graphql/admin_graphql.py‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,11 @@ def _handle_429_retry_sync(
395395
res=res,
396396
)
397397
)
398-
time.sleep(int(retry_after))
398+
try:
399+
delay = float(retry_after)
400+
except (TypeError, ValueError):
401+
delay = 1.0
402+
time.sleep(delay)
399403
return (True, False, None)
400404

401405
if status_code == 429 and attempt == max_retries:
@@ -451,7 +455,11 @@ async def _handle_429_retry_async(
451455
res=res,
452456
)
453457
)
454-
await asyncio.sleep(int(retry_after))
458+
try:
459+
delay = float(retry_after)
460+
except (TypeError, ValueError):
461+
delay = 1.0
462+
await asyncio.sleep(delay)
455463
return (True, False, None)
456464

457465
if status_code == 429 and attempt == max_retries:

0 commit comments

Comments
 (0)