🌱 implement 1 QPS rate limiting for cron best practices worker. #4090
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.
What kind of change does this PR introduce?
bug fix
What is the current behavior?
We are getting connection reset requests from bestpractices.dev and 429 errors from our GCS bucket for too many writes.
bestpractices.dev has a limit of 1 QPS
GCS has a limit of 1000 QPS
What is the new behavior (if this is a feature change)?**
Use the lower limit of 1 QPS limit for bestpractices.dev when populating the cron data.
Each page has 30 projects, so 30 QPS is below the GCS limit.
The construct was taken from https://go.dev/wiki/RateLimiting which "works well for rates up to tens of operations per second."
Which issue(s) this PR fixes
Related to #4037 (but may not fix it yet)
Special notes for your reviewer
Does this PR introduce a user-facing change?
For user-facing changes, please add a concise, human-readable release note to
the
release-note
(In particular, describe what changes users might need to make in their
application as a result of this pull request.)