Disable retry queue option

This commit is contained in:
cetra3 2023-07-03 23:29:03 +09:30
parent 050216eed9
commit cf1c4dd7b5
5 changed files with 49 additions and 15 deletions

56
Cargo.lock generated
View file

@ -15,18 +15,17 @@ dependencies = [
[[package]]
name = "activitypub_federation"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ab3ac148d9c0b4163a6d41040c17de7558a42224b9ecbd4e8f033aef6c254d9"
source = "git+https://github.com/cetra3/activitypub-federation-rust.git?branch=disable_retry_queue#237455ad45915f9d98327865bac0b74ff6582273"
dependencies = [
"activitystreams-kinds",
"actix-web",
"anyhow",
"async-trait",
"axum 0.6.18",
"base64 0.21.2",
"bytes",
"chrono",
"derive_builder",
"displaydoc",
"dyn-clone",
"enum_delegate",
"futures-core",
@ -34,6 +33,7 @@ dependencies = [
"http-signature-normalization 0.7.0",
"http-signature-normalization-reqwest",
"httpdate",
"hyper",
"itertools",
"once_cell",
"openssl",
@ -46,6 +46,7 @@ dependencies = [
"sha2",
"thiserror",
"tokio",
"tower",
"tracing",
"url",
]
@ -564,6 +565,7 @@ dependencies = [
"bitflags 1.3.2",
"bytes",
"futures-util",
"headers",
"http",
"http-body",
"hyper",
@ -575,6 +577,8 @@ dependencies = [
"pin-project-lite",
"rustversion",
"serde",
"serde_json",
"serde_path_to_error",
"sync_wrapper",
"tower",
"tower-layer",
@ -1476,17 +1480,6 @@ dependencies = [
"chrono",
]
[[package]]
name = "displaydoc"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.18",
]
[[package]]
name = "dlv-list"
version = "0.3.0"
@ -2062,6 +2055,31 @@ dependencies = [
"num-traits",
]
[[package]]
name = "headers"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584"
dependencies = [
"base64 0.13.1",
"bitflags 1.3.2",
"bytes",
"headers-core",
"http",
"httpdate",
"mime",
"sha1",
]
[[package]]
name = "headers-core"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429"
dependencies = [
"http",
]
[[package]]
name = "heck"
version = "0.3.3"
@ -4768,6 +4786,16 @@ dependencies = [
"serde",
]
[[package]]
name = "serde_path_to_error"
version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b1b6471d7496b051e03f1958802a73f88b947866f5146f329e47e36554f4e55"
dependencies = [
"itoa",
"serde",
]
[[package]]
name = "serde_plain"
version = "1.0.1"

View file

@ -54,7 +54,7 @@ lemmy_routes = { version = "=0.18.1-rc.4", path = "./crates/routes" }
lemmy_db_views = { version = "=0.18.1-rc.4", path = "./crates/db_views" }
lemmy_db_views_actor = { version = "=0.18.1-rc.4", path = "./crates/db_views_actor" }
lemmy_db_views_moderator = { version = "=0.18.1-rc.4", path = "./crates/db_views_moderator" }
activitypub_federation = { version = "0.4.4", default-features = false, features = ["actix-web"] }
activitypub_federation = { git = "https://github.com/cetra3/activitypub-federation-rust.git", branch = "disable_retry_queue" }
diesel = "2.1.0"
diesel_migrations = "2.1.0"
diesel-async = "0.3.1"

View file

@ -80,4 +80,6 @@
worker_count: 0
# The number of activitypub federation retry workers that can be in-flight concurrently
retry_count: 0
# Whether the retry queue is disabled or not. If true, nothing is retried
disable_retry: true
}

View file

@ -45,6 +45,9 @@ pub struct Settings {
/// The number of activitypub federation retry workers that can be in-flight concurrently
#[default(0)]
pub retry_count: usize,
/// Whether the retry queue is disabled or not. If true, nothing is retried
#[default(true)]
pub disable_retry: bool,
}
#[derive(Debug, Deserialize, Serialize, Clone, SmartDefault, Document)]

View file

@ -128,6 +128,7 @@ pub async fn start_lemmy_server() -> Result<(), LemmyError> {
.http_fetch_limit(FEDERATION_HTTP_FETCH_LIMIT)
.worker_count(settings.worker_count)
.retry_count(settings.retry_count)
.disable_retry(settings.disable_retry)
.debug(cfg!(debug_assertions))
.http_signature_compat(true)
.url_verifier(Box::new(VerifyUrlData(context.pool().clone())))