From aa7a3102001b2b9609db7a96d10232d63b8ee24f Mon Sep 17 00:00:00 2001 From: Jason Volk <jason@zemos.net> Date: Sat, 13 Jul 2024 07:05:51 +0000 Subject: [PATCH] move media startup into service Signed-off-by: Jason Volk <jason@zemos.net> --- src/service/media/mod.rs | 8 ++++++++ src/service/services.rs | 1 - 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/service/media/mod.rs b/src/service/media/mod.rs index 3cb8fda83..9b1cbe066 100644 --- a/src/service/media/mod.rs +++ b/src/service/media/mod.rs @@ -3,6 +3,7 @@ use std::{collections::HashMap, io::Cursor, num::Saturating as Sat, path::PathBuf, sync::Arc, time::SystemTime}; +use async_trait::async_trait; use base64::{engine::general_purpose, Engine as _}; use conduit::{checked, debug, debug_error, error, utils, Error, Result, Server}; use data::Data; @@ -47,6 +48,7 @@ pub struct Service { pub url_preview_mutex: RwLock<HashMap<String, Arc<Mutex<()>>>>, } +#[async_trait] impl crate::Service for Service { fn build(args: crate::Args<'_>) -> Result<Arc<Self>> { Ok(Arc::new(Self { @@ -56,6 +58,12 @@ fn build(args: crate::Args<'_>) -> Result<Arc<Self>> { })) } + async fn worker(self: Arc<Self>) -> Result<()> { + self.create_media_dir().await?; + + Ok(()) + } + fn name(&self) -> &str { crate::service::make_name(std::module_path!()) } } diff --git a/src/service/services.rs b/src/service/services.rs index 62e73fd10..88b582991 100644 --- a/src/service/services.rs +++ b/src/service/services.rs @@ -93,7 +93,6 @@ macro_rules! build { pub(super) async fn start(&self) -> Result<()> { debug_info!("Starting services..."); - self.media.create_media_dir().await?; globals::migrations::migrations(&self.db, &self.globals.config).await?; globals::emerg_access::init_emergency_access(); -- GitLab