Dont retry outgoing HTTP requests (ref #2865)

This commit is contained in:
Felix Ableitner 2023-05-18 13:11:06 +02:00 committed by Nutomic
parent 8410a9696e
commit df57795595
3 changed files with 1 additions and 43 deletions

32
Cargo.lock generated
View file

@ -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"

View file

@ -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 }

View file

@ -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