feat: added connection logging retrying and backoff - mongodb #45
+68
−102
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.
Description
Exponential Backoff: Implemented exponential_backoff function to delay retries.
Retry Limits: Added MAX_RETRIES (5 attempts) to limit retries.
Error Handling: Handled ConnectionFailure and ServerSelectionTimeoutError.
Logging: Added logs for retry attempts, delays, and connection success/failure.
Timeout Configurations: Set connectTimeoutMS (5000ms) and socketTimeoutMS (10000ms).
Environment Variable Check: Validated presence of MONGODB_URL.
Index Creation: Ensured proper database indexes for the products collection.
Resource Cleanup: Used client.close() to release resources.
Related Issue
Fixes #13 and closes it
Motivation and Context
Implements a clear robust and clarified connection system to help future expansions, working and readability
How Has This Been Tested?
On Local Machine
Screenshots (if appropriate):
Types of changes
Checklist: