Handle rate limits with pygithub using decorator#44
Merged
stv0g merged 2 commits intoclockfort:masterfrom Jun 15, 2022
Merged
Conversation
Closed
Collaborator
Contributor
Author
|
Yeah sadly looks like PyGithub is happy to only provide information about the rate limits, but I can't find anything where they are handling the rate-limit-retry themselves. If you (anyone) can find anything, that would be quite useful, or point me at a neater approach of doing this. I had a look at various threads: PyGithub/PyGithub#1319 Also I had a look through their source code but that just seems to confirm, there are methods to return the value but not actually retry. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In this PR I'm adding the ability to handle Github rate limits.
Using a decorator to capture the
RateLimitException.Then, calling the
get_rate_limit()endpoint to get the actual limit.Then, a thread.sleep to wait until the rate limit has been reset.
The best way I could think of was to wrap pygithub method calls.
I don't know of a cleaner way to do this without giving up intellisense/autocomplete.
Issue #42