Hitting 429 Too Many Requests when pushing config changes to 500 agents. The standard exponential backoff isn’t catching the burst window properly. Here’s the retry logic:
for attempt in range(max_retries):
try:
response = client.users_api.update_user(user_id, user_obj)
break
except Exception as e:
if e.status_code == 429:
wait = min(2 ** attempt, 10)
time.sleep(wait)
else:
raise
The issue is the rate limit resets per minute, not per request. Sleeping doesn’t help if I’ve already burned the quota. Need a proper token bucket implementation or sliding window calculation. Anyone have a working example for Genesys Cloud’s specific rate limit headers?