Honestly, I’d roll my own retry logic. It’s not that hard, and you get full control over how things work. For Python requests retry, I usually start with a simple loop and a fixed delay, then add exponential backoff if needed.
For rate limits, I’d suggest checking the response headers for `Retry-After` and using that to set your delay. And don’t forget to handle exceptions like `ConnectionError` and `Timeout`.
Here’s a quick snippet:
```python
import time
import requests
def make_request(url):
for _ in range(3):
try:
response = requests.get(url, timeout=5)
return response
except requests.exceptions.RequestException:
time.sleep(2 ** _)
return None
```
Good luck!
For rate limits, I’d suggest checking the response headers for `Retry-After` and using that to set your delay. And don’t forget to handle exceptions like `ConnectionError` and `Timeout`.
Here’s a quick snippet:
```python
import time
import requests
def make_request(url):
for _ in range(3):
try:
response = requests.get(url, timeout=5)
return response
except requests.exceptions.RequestException:
time.sleep(2 ** _)
return None
```
Good luck!
