Implement mechanism to avoid secondary rate limit on PR creation #164
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.
Implement timeout, retryAfter and sequential request mechanism to avoid hitting the secondary rate limit, which blocks you from creating more PRs, and repeatedly hitting the rate might result in banning of your app.
The mechanism was built upon the best practice to avoid secondary rate limit
Make requests for a single user or client ID serially. Do not make requests for a single user or client ID concurrently.
When you have been limited, use the Retry-After response header to slow down.
This change allows for retries to handle the creation of the subsequent PRsPlease create this content at a reasonable pace to avoid further limiting
Without this mechanism, I was only able to create 10 PRs and then nori will error out with the secondary rate limit. With this mechanism, I was able to successfully create 61 PRs in one go with nori. We need this change as the GitHub API has recently changed to be more defensive with its secondary rate limit, as seen in other projects