Per-tracker seeding rules and torrent reaper (#88)
This commit was merged in pull request #88.
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
mod config;
|
||||
mod grab;
|
||||
mod import;
|
||||
mod reaper;
|
||||
pub mod reconcile;
|
||||
mod web;
|
||||
|
||||
@@ -14,8 +15,9 @@ use arr_compat::CompatState;
|
||||
use arr_db::Db;
|
||||
use arr_meta::TmdbClient;
|
||||
use config::Config;
|
||||
use grab::{GrabAction, SeedingLimits};
|
||||
use grab::{GrabAction, SeedingLimits, SeedingRules};
|
||||
use import::ImportAction;
|
||||
use reaper::ReaperAction;
|
||||
use reconcile::{ReconcileLoop, Tick};
|
||||
use tower_http::trace::TraceLayer;
|
||||
|
||||
@@ -103,10 +105,25 @@ async fn run() -> Result<(), Error> {
|
||||
prowlarr,
|
||||
transmission.clone(),
|
||||
config.download_dir.clone(),
|
||||
SeedingLimits {
|
||||
ratio: config.seed_ratio_limit,
|
||||
idle_minutes: config.seed_idle_limit_minutes,
|
||||
},
|
||||
SeedingRules::new(
|
||||
SeedingLimits {
|
||||
ratio: config.seed_ratio_limit,
|
||||
idle_minutes: config.seed_idle_limit_minutes,
|
||||
},
|
||||
config
|
||||
.tracker_seeding
|
||||
.iter()
|
||||
.map(|(&id, rule)| {
|
||||
(
|
||||
id,
|
||||
SeedingLimits {
|
||||
ratio: rule.ratio,
|
||||
idle_minutes: rule.min_seed_time,
|
||||
},
|
||||
)
|
||||
})
|
||||
.collect(),
|
||||
),
|
||||
),
|
||||
);
|
||||
} else {
|
||||
@@ -116,8 +133,9 @@ async fn run() -> Result<(), Error> {
|
||||
// imported on this tick.
|
||||
reconcile = reconcile.register(
|
||||
Tick::Reconcile,
|
||||
ImportAction::new(transmission, arr_probe::Prober::new()),
|
||||
ImportAction::new(transmission.clone(), arr_probe::Prober::new()),
|
||||
);
|
||||
reconcile = reconcile.register(Tick::Reaper, ReaperAction::new(transmission));
|
||||
|
||||
// Jellyseerr's Radarr shim (DESIGN.md §9.4) reads the same database and
|
||||
// needs its own TMDB client for `movie/lookup`.
|
||||
|
||||
Reference in New Issue
Block a user