Adopt exponential backoff when retrying
The current naive approach at retrying is not exactly gentle: if the server is overloaded we retry right ahead making the problem just worse.
See https://encore.dev/blog/retries for a fun explanation of how the naive approach can be catastrophic.
Fortunately the tenacity
library allow us to add a bounded exponential
backoff while also making the code easier to understand.
This should make the dashboard behave much better toward GitLab and OBS when they hit some issue.
Edited by Emanuele Aina