Add retry mechanism to many database requests #217
Merged
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.
Should help issues such as #189 and #192 that use the
requests
library. Requests are attempted one time and can fail if there are intermittent connectivity issues between the worker and database. This leads to errors that cannot be traced on the database, since it lost connection and cannot post to the database.This adds a wrapper function to attempt multiple requests to these calls with an exponential backoff (e.g., attempt after 1 second, 2 seconds, 4 seconds, 16 seconds, 32 seconds).
@antoinefalisse @AlbertoCasasOrtiz I'm tagging you both (and would like a review from both) since it touches many important calls to the database. Some notes below:
Testing that's been done:
Notes for review:
tests
folder, which required removing it from the.gitignore
file. Will this mess up someone's workflow?