Skip to content

Handle rate limits with pygithub using decorator#44

Merged
stv0g merged 2 commits intoclockfort:masterfrom
mendhak:master
Jun 15, 2022
Merged

Handle rate limits with pygithub using decorator#44
stv0g merged 2 commits intoclockfort:masterfrom
mendhak:master

Conversation

@mendhak
Copy link
Contributor

@mendhak mendhak commented Apr 18, 2021

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

@mendhak mendhak mentioned this pull request Apr 18, 2021
@stv0g
Copy link
Collaborator

stv0g commented Apr 19, 2021

Hi @mendhak,

thanks for your PR!

I agree that this isnt the most elegant way to implement it.
I would prefer if we can do this directly within PyGitHub.

It should be much easiert to do there.

@mendhak
Copy link
Contributor Author

mendhak commented Apr 19, 2021

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
PyGithub/PyGithub#553

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants