-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature Request: Retry-After Header support for rate limiting #10
Comments
I found my code and it used https://urllib3.readthedocs.io/en/2.2.1/reference/urllib3.util.html which is what the python sdk appears to use for retries. I had configured with a back off factor to wait longer on retries.
I didn't do any testing regarding it handling 429 responses and the retry-after header. |
I did some testing and it appears that urllib3.Retry handles 429 and the Retry-After header with seconds. |
express mock serverGET /api/users returns a 429 every 2nd invocation with varying waits app.js
routes.js
python test client with Retry
Testpython client makes 100 calls, urllib3 logging shows every second call is a 429 and the retry occurring while the program output shows only the successful processing. program output
log output
I suggest you'll want to do your own testing. On confirmation the feature request is to update the python-sdk doc: https://developer.sailpoint.com/docs/tools/sdk/python |
Feature request
Incorporate support for Identity Security Cloud (ISC) API rate limits.
If ISC APIs return a 429 then try again after the number of seconds in the Retry-After header.
Rate Limits
There is a rate limit of 100 requests per access_token per 10 seconds for V3 API calls through the API gateway. If you exceed the rate limit, expect the following response from the API:
HTTP Status Code: 429 Too Many Requests
Headers:
Retry-After: {seconds to wait before rate limit resets}
Sample code coming?
I believe I've implemented this previously and will look for the code as an example. But don't wait for me! lol.
The text was updated successfully, but these errors were encountered: