refactor: equip the stackit embedder with a retry decorator. #91
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.
This pull request introduces configurable retry behavior for the
StackitEmbedder
, allowing for fine-grained control of retry and backoff parameters via environment variables, Helm chart values, or code. The changes ensure that retry settings can be overridden per embedder instance, falling back to shared defaults when not specified. Documentation and dependency injection are updated to reflect this new flexibility.Embedder Retry Configuration
max_retries
,retry_base_delay
,retry_max_delay
,backoff_factor
,attempt_cap
,jitter_min
,jitter_max
) to theStackitEmbedderSettings
model, allowing per-embedder overrides of retry/backoff parameters. [1] [2]StackitEmbedder
implementation to use a shared retry decorator with exponential backoff, resolving settings from bothStackitEmbedderSettings
and fallbackRetryDecoratorSettings
. The retry logic now handles OpenAI API errors and rate limits robustly. [1] [2] [3]Dependency Injection and Configuration
StackitEmbedderSettings
andRetryDecoratorSettings
into theStackitEmbedder
, supporting the new configuration pattern. [1] [2] [3]values.yaml
), enabling retry configuration via deployment configuration for both backend and adminBackend services. [1] [2]Documentation Updates
libs/README.md
, explaining how override and fallback resolution works, and how to configure via environment variables and Helm chart values. [1] [2]tackles following issue:
#87