Dont retry outgoing HTTP requests (ref #2865)
This commit is contained in:
parent
8410a9696e
commit
df57795595
3 changed files with 1 additions and 43 deletions
32
Cargo.lock
generated
32
Cargo.lock
generated
|
@ -2771,7 +2771,6 @@ dependencies = [
|
||||||
"pict-rs",
|
"pict-rs",
|
||||||
"reqwest",
|
"reqwest",
|
||||||
"reqwest-middleware",
|
"reqwest-middleware",
|
||||||
"reqwest-retry",
|
|
||||||
"reqwest-tracing",
|
"reqwest-tracing",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
|
@ -4331,26 +4330,6 @@ dependencies = [
|
||||||
"thiserror",
|
"thiserror",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "reqwest-retry"
|
|
||||||
version = "0.2.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e29d842a94e8ab9b581fd3b906053872aef2fb3e474cbd88712047895d2deee4"
|
|
||||||
dependencies = [
|
|
||||||
"anyhow",
|
|
||||||
"async-trait",
|
|
||||||
"chrono",
|
|
||||||
"futures",
|
|
||||||
"http",
|
|
||||||
"hyper",
|
|
||||||
"reqwest",
|
|
||||||
"reqwest-middleware",
|
|
||||||
"retry-policies",
|
|
||||||
"task-local-extensions",
|
|
||||||
"tokio",
|
|
||||||
"tracing",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "reqwest-tracing"
|
name = "reqwest-tracing"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
|
@ -4372,17 +4351,6 @@ version = "0.1.9"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4389f1d5789befaf6029ebd9f7dac4af7f7e3d61b69d4f30e2ac02b57e7712b0"
|
checksum = "4389f1d5789befaf6029ebd9f7dac4af7f7e3d61b69d4f30e2ac02b57e7712b0"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "retry-policies"
|
|
||||||
version = "0.1.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "47f9e19b18c6cdd796cc70aea8a9ea5ee7b813be611c6589e3624fcdbfd05f9d"
|
|
||||||
dependencies = [
|
|
||||||
"anyhow",
|
|
||||||
"chrono",
|
|
||||||
"rand 0.8.5",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rgb"
|
name = "rgb"
|
||||||
version = "0.8.34"
|
version = "0.8.34"
|
||||||
|
|
|
@ -78,7 +78,6 @@ reqwest-middleware = "0.2.0"
|
||||||
reqwest-tracing = "0.4.0"
|
reqwest-tracing = "0.4.0"
|
||||||
clokwerk = "0.3.5"
|
clokwerk = "0.3.5"
|
||||||
doku = { version = "0.20.0", features = ["url-2"] }
|
doku = { version = "0.20.0", features = ["url-2"] }
|
||||||
reqwest-retry = "0.2.0"
|
|
||||||
bcrypt = "0.13.0"
|
bcrypt = "0.13.0"
|
||||||
chrono = { version = "0.4.22", features = ["serde"], default-features = false }
|
chrono = { version = "0.4.22", features = ["serde"], default-features = false }
|
||||||
serde_json = { version = "1.0.87", features = ["preserve_order"] }
|
serde_json = { version = "1.0.87", features = ["preserve_order"] }
|
||||||
|
@ -134,7 +133,6 @@ reqwest-middleware = { workspace = true }
|
||||||
reqwest-tracing = { workspace = true }
|
reqwest-tracing = { workspace = true }
|
||||||
clokwerk = { workspace = true }
|
clokwerk = { workspace = true }
|
||||||
doku = { workspace = true }
|
doku = { workspace = true }
|
||||||
reqwest-retry = { workspace = true }
|
|
||||||
serde_json = { workspace = true }
|
serde_json = { workspace = true }
|
||||||
futures = { workspace = true }
|
futures = { workspace = true }
|
||||||
actix = { workspace = true }
|
actix = { workspace = true }
|
||||||
|
|
10
src/lib.rs
10
src/lib.rs
|
@ -34,7 +34,6 @@ use lemmy_utils::{
|
||||||
};
|
};
|
||||||
use reqwest::Client;
|
use reqwest::Client;
|
||||||
use reqwest_middleware::ClientBuilder;
|
use reqwest_middleware::ClientBuilder;
|
||||||
use reqwest_retry::{policies::ExponentialBackoff, RetryTransientMiddleware};
|
|
||||||
use reqwest_tracing::TracingMiddleware;
|
use reqwest_tracing::TracingMiddleware;
|
||||||
use std::{env, thread, time::Duration};
|
use std::{env, thread, time::Duration};
|
||||||
use tracing::subscriber::set_global_default;
|
use tracing::subscriber::set_global_default;
|
||||||
|
@ -110,18 +109,11 @@ pub async fn start_lemmy_server() -> Result<(), LemmyError> {
|
||||||
let reqwest_client = Client::builder()
|
let reqwest_client = Client::builder()
|
||||||
.user_agent(user_agent.clone())
|
.user_agent(user_agent.clone())
|
||||||
.timeout(REQWEST_TIMEOUT)
|
.timeout(REQWEST_TIMEOUT)
|
||||||
|
.connect_timeout(REQWEST_TIMEOUT)
|
||||||
.build()?;
|
.build()?;
|
||||||
|
|
||||||
let retry_policy = ExponentialBackoff {
|
|
||||||
max_n_retries: 3,
|
|
||||||
max_retry_interval: REQWEST_TIMEOUT,
|
|
||||||
min_retry_interval: Duration::from_millis(100),
|
|
||||||
backoff_exponent: 2,
|
|
||||||
};
|
|
||||||
|
|
||||||
let client = ClientBuilder::new(reqwest_client.clone())
|
let client = ClientBuilder::new(reqwest_client.clone())
|
||||||
.with(TracingMiddleware::default())
|
.with(TracingMiddleware::default())
|
||||||
.with(RetryTransientMiddleware::new_with_policy(retry_policy))
|
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
// Pictrs cannot use the retry middleware
|
// Pictrs cannot use the retry middleware
|
||||||
|
|
Loading…
Reference in a new issue