How should I handle 429: Rate Limit responses?
The best strategy for handling 429s is a retry + exponential backoff strategy.
def make_request_to_deepgram_and_retry():
retry_time = 3 # seconds
maximum_number_of_retries = 10
for i in range(maximum_number_of_retries):
try:
return make_request_to_deepgram()
catch (429 error):
time.sleep(retry_time)
continue
return Nonedef make_request_to_deepgram_and_retry():
retry_time = 0.5 # start with a 0.5 second retry time
maximum_number_of_retries = 10
maximum_retry_time = 30
for i in range(maximum_number_of_retries):
try:
return make_request_to_deepgram()
catch (429 error):
time.sleep(retry_time)
retry_time = retry_time * 2 # exponential backoff
if retry_time > maximum_retry_time:
retry_time = maximum_retry_time
continue
return NoneLast updated