feat: improve healtcheck implementation #111
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.
Hello, when I investigated our current healthcheck implementation, I realized that
sync.Once
. I know, we invoked based on this but I think ensuring this is best practice.running
flag stopping, clearing resources, (cancellation) instead of context.time.Sleep
(can lead to less precise timing and harder-to-manage) instead oftime.Ticker
logger.Log.Warn("Health check attempt %d/%d failed: %v", attempt, maxRetries, err)
I tested implementation with single application and couchbase container, with this example
Maybe we can add backoff instead of constant time.Second interval