Skip to content
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

[TODO] Provide a clear interface for accessing rate limit stats #3

Open
webknjaz opened this issue Jan 22, 2019 · 1 comment
Open
Labels
enhancement New feature or request

Comments

@webknjaz
Copy link
Member

webknjaz commented Jan 22, 2019

Fund with Polar
@webknjaz webknjaz added the enhancement New feature or request label Feb 13, 2019
@webknjaz
Copy link
Member Author

webknjaz commented Mar 9, 2019

The framework needs a service for identifying liveliness of the GitHub API.
It can be integrated with rate limiting mechanisms.
The idea is to stop/prevent doing "useless" requests and "going silent"
in case of GitHub API degradetion to be "good citizens" and reduce load
on them.
Once it is detected that GitHub API is recovered it's a good idea to
increate client-side throttling gradually so that we don't DDoS them and
also it will give us some time to check whether the liveliness is not
flaky.
I'd start "recovery probes" with Events API requests to identify all events
we "lost" and didn't process, cache those and start going through the
event backlog to get back on track.

N.B. We need to investigate processing data from Migrations API and figure
out whether it's possible to extract missing data for matching events with
webhooks from those.

Also, it's nice to probe GitHub API at startup to indicate whether it's
online in the beginning on the console/log output and make sure that we
can actually start with it being inaccessible.

Oh, and we need to think about graceful shutdown and dumping events which
we weren't able to process to some persistent storage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant