From b1df4e85e1b5ae729c031089d55e199fee934e28 Mon Sep 17 00:00:00 2001 From: Jose Celano Date: Tue, 6 Feb 2024 12:02:03 +0000 Subject: [PATCH] refactor: [#453] reorganize console mods MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ```console src/console/ ├── commands │   ├── mod.rs │   └── tracker_statistics_importer │   ├── app.rs │   └── mod.rs ├── cronjobs │   ├── mod.rs │   └── tracker_statistics_importer.rs └── mod.rs ``` - We will create a new command to seed the Index with random torrents. - This new strcuture is similar to what we have in the Tracker. --- src/app.rs | 2 +- src/bin/import_tracker_statistics.rs | 6 +++--- src/console/commands/mod.rs | 2 +- .../app.rs} | 2 +- src/console/commands/tracker_statistics_importer/mod.rs | 1 + src/console/cronjobs/mod.rs | 1 + src/console/{ => cronjobs}/tracker_statistics_importer.rs | 8 ++++++-- src/console/mod.rs | 2 +- 8 files changed, 15 insertions(+), 9 deletions(-) rename src/console/commands/{import_tracker_statistics.rs => tracker_statistics_importer/app.rs} (99%) create mode 100644 src/console/commands/tracker_statistics_importer/mod.rs create mode 100644 src/console/cronjobs/mod.rs rename src/console/{ => cronjobs}/tracker_statistics_importer.rs (95%) diff --git a/src/app.rs b/src/app.rs index 22ffd4f7..7fd825df 100644 --- a/src/app.rs +++ b/src/app.rs @@ -159,7 +159,7 @@ pub async fn run(configuration: Configuration, api_version: &Version) -> Running // Start cronjob to import tracker torrent data and updating // seeders and leechers info. - let tracker_statistics_importer_handle = console::tracker_statistics_importer::start( + let tracker_statistics_importer_handle = console::cronjobs::tracker_statistics_importer::start( importer_port, importer_torrent_info_update_interval, &tracker_statistics_importer, diff --git a/src/bin/import_tracker_statistics.rs b/src/bin/import_tracker_statistics.rs index a405248b..07a0a0c6 100644 --- a/src/bin/import_tracker_statistics.rs +++ b/src/bin/import_tracker_statistics.rs @@ -1,11 +1,11 @@ //! Import Tracker Statistics command. //! -//! It imports the number of seeders and leechers for all torrent from the linked tracker. +//! It imports the number of seeders and leechers for all torrents from the linked tracker. //! //! You can execute it with: `cargo run --bin import_tracker_statistics` -use torrust_index::console::commands::import_tracker_statistics::run_importer; +use torrust_index::console::commands::tracker_statistics_importer::app::run; #[tokio::main] async fn main() { - run_importer().await; + run().await; } diff --git a/src/console/commands/mod.rs b/src/console/commands/mod.rs index 6dad4966..43be8073 100644 --- a/src/console/commands/mod.rs +++ b/src/console/commands/mod.rs @@ -1 +1 @@ -pub mod import_tracker_statistics; +pub mod tracker_statistics_importer; diff --git a/src/console/commands/import_tracker_statistics.rs b/src/console/commands/tracker_statistics_importer/app.rs similarity index 99% rename from src/console/commands/import_tracker_statistics.rs rename to src/console/commands/tracker_statistics_importer/app.rs index 08acbb31..115b7bd8 100644 --- a/src/console/commands/import_tracker_statistics.rs +++ b/src/console/commands/tracker_statistics_importer/app.rs @@ -75,7 +75,7 @@ fn print_usage() { /// # Panics /// /// Panics if arguments cannot be parsed. -pub async fn run_importer() { +pub async fn run() { parse_args().expect("unable to parse command arguments"); import().await; } diff --git a/src/console/commands/tracker_statistics_importer/mod.rs b/src/console/commands/tracker_statistics_importer/mod.rs new file mode 100644 index 00000000..309be628 --- /dev/null +++ b/src/console/commands/tracker_statistics_importer/mod.rs @@ -0,0 +1 @@ +pub mod app; diff --git a/src/console/cronjobs/mod.rs b/src/console/cronjobs/mod.rs new file mode 100644 index 00000000..43be8073 --- /dev/null +++ b/src/console/cronjobs/mod.rs @@ -0,0 +1 @@ +pub mod tracker_statistics_importer; diff --git a/src/console/tracker_statistics_importer.rs b/src/console/cronjobs/tracker_statistics_importer.rs similarity index 95% rename from src/console/tracker_statistics_importer.rs rename to src/console/cronjobs/tracker_statistics_importer.rs index c0787ad1..4c65c5a0 100644 --- a/src/console/tracker_statistics_importer.rs +++ b/src/console/cronjobs/tracker_statistics_importer.rs @@ -33,6 +33,10 @@ struct ImporterState { pub torrent_info_update_interval: u64, } +/// # Panics +/// +/// Will panic if it can't start the tracker statistics importer API +#[must_use] pub fn start( importer_port: u16, torrent_info_update_interval: u64, @@ -60,7 +64,7 @@ pub fn start( let addr = format!("{IMPORTER_API_IP}:{importer_port}"); - info!("Tracker statistics importer API server listening on http://{}", addr); + info!("Tracker statistics importer API server listening on http://{}", addr); // # DevSkim: ignore DS137138 axum::Server::bind(&addr.parse().unwrap()) .serve(app.into_make_service()) @@ -122,7 +126,7 @@ async fn heartbeat_handler(State(state): State>) -> Json Result<(), reqwest::Error> { let client = reqwest::Client::new(); - let url = format!("http://{IMPORTER_API_IP}:{importer_port}/heartbeat"); + let url = format!("http://{IMPORTER_API_IP}:{importer_port}/heartbeat"); // # DevSkim: ignore DS137138 client.post(url).send().await?; diff --git a/src/console/mod.rs b/src/console/mod.rs index 889c06dc..80eff453 100644 --- a/src/console/mod.rs +++ b/src/console/mod.rs @@ -1,2 +1,2 @@ pub mod commands; -pub(crate) mod tracker_statistics_importer; +pub mod cronjobs;