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

Server reliability enhancement strategy #122

Open
blake-sc opened this issue Apr 3, 2022 · 0 comments
Open

Server reliability enhancement strategy #122

blake-sc opened this issue Apr 3, 2022 · 0 comments

Comments

@blake-sc
Copy link
Contributor

blake-sc commented Apr 3, 2022

The Bilara server has long been plagued with intermittent downtime.

Multiple approaches can be used together to improve reliability:

  1. Use libgit2 (e.g. pygit2) for as many git interactions as possible. The git command is designed to be used by humans in particular ways, and it can be ungraceful when used by machines. libgit2 is designed to be used by machines including on Github and is far better stress-tested, it is also about two orders of magnitude faster which will help to reduce resource contention.
  2. Split off some of the code that does Github synchronization (Webhook and general push/pull) into a micro service that runs in a different process and can be restarted separately. There is no need for these tasks to block the general business of the Bilara server.
  3. Implement health checks and automatic restarting, though the code not failing in the first place is more preferable to relying on healthchecks.
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

No branches or pull requests

1 participant