use loco_rs::prelude::*; use crate::services::subscriptions; pub struct SendWeeklyDigest; #[async_trait] impl Task for SendWeeklyDigest { fn task(&self) -> TaskInfo { TaskInfo { name: "send_weekly_digest".to_string(), detail: "queue weekly digest notifications".to_string(), } } async fn run(&self, app_context: &AppContext, _vars: &task::Vars) -> Result<()> { let summary = subscriptions::send_digest(app_context, "weekly").await?; tracing::info!( "send_weekly_digest queued={} skipped={} posts={}", summary.queued, summary.skipped, summary.post_count ); Ok(()) } }