mirror of
https://github.com/meilisearch/meilisearch.git
synced 2025-11-22 04:36:32 +00:00
Make max retry duration configurable with MEILI_EXPERIMENTAL_REST_EMBEDDER_MAX_RETRY_DURATION_SECONDS
This commit is contained in:
@@ -91,6 +91,7 @@ struct EmbedderData {
|
|||||||
request: RequestData,
|
request: RequestData,
|
||||||
response: Response,
|
response: Response,
|
||||||
configuration_source: ConfigurationSource,
|
configuration_source: ConfigurationSource,
|
||||||
|
max_retry_duration: std::time::Duration,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
@@ -201,6 +202,14 @@ impl Embedder {
|
|||||||
|
|
||||||
let response = Response::new(options.response, &request)?;
|
let response = Response::new(options.response, &request)?;
|
||||||
|
|
||||||
|
let max_retry_duration =
|
||||||
|
std::env::var("MEILI_EXPERIMENTAL_REST_EMBEDDER_MAX_RETRY_DURATION_SECONDS")
|
||||||
|
.ok()
|
||||||
|
.map(|p| p.parse().unwrap())
|
||||||
|
.unwrap_or(60);
|
||||||
|
|
||||||
|
let max_retry_duration = std::time::Duration::from_secs(max_retry_duration);
|
||||||
|
|
||||||
let data = EmbedderData {
|
let data = EmbedderData {
|
||||||
client,
|
client,
|
||||||
bearer,
|
bearer,
|
||||||
@@ -209,6 +218,7 @@ impl Embedder {
|
|||||||
response,
|
response,
|
||||||
configuration_source,
|
configuration_source,
|
||||||
headers: options.headers,
|
headers: options.headers,
|
||||||
|
max_retry_duration,
|
||||||
};
|
};
|
||||||
|
|
||||||
let dimensions = if let Some(dimensions) = options.dimensions {
|
let dimensions = if let Some(dimensions) = options.dimensions {
|
||||||
@@ -462,7 +472,7 @@ where
|
|||||||
}
|
}
|
||||||
}?;
|
}?;
|
||||||
|
|
||||||
let retry_duration = retry_duration.min(std::time::Duration::from_secs(60)); // don't wait more than a minute
|
let retry_duration = retry_duration.min(data.max_retry_duration); // don't wait more than the max duration
|
||||||
|
|
||||||
// randomly up to double the retry duration
|
// randomly up to double the retry duration
|
||||||
let retry_duration = retry_duration
|
let retry_duration = retry_duration
|
||||||
|
|||||||
Reference in New Issue
Block a user