From b195c01c003b7a5cb8e86e11db9b06217b77b025 Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Sun, 13 Oct 2024 00:37:11 +0200 Subject: [PATCH] worker/jobs/daily_db_maintenance: Remove `spawn_blocking()` usage --- src/worker/jobs/daily_db_maintenance.rs | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/worker/jobs/daily_db_maintenance.rs b/src/worker/jobs/daily_db_maintenance.rs index 014a214d1ee..804808cf62e 100644 --- a/src/worker/jobs/daily_db_maintenance.rs +++ b/src/worker/jobs/daily_db_maintenance.rs @@ -1,8 +1,7 @@ -use crate::tasks::spawn_blocking; use crate::worker::Environment; use crates_io_worker::BackgroundJob; -use diesel::{sql_query, RunQueryDsl}; -use diesel_async::async_connection_wrapper::AsyncConnectionWrapper; +use diesel::sql_query; +use diesel_async::RunQueryDsl; use std::sync::Arc; #[derive(Serialize, Deserialize)] @@ -24,15 +23,13 @@ impl BackgroundJob for DailyDbMaintenance { /// archive daily download counts and drop historical data, we can drop this task and rely on /// auto-vacuum again. async fn run(&self, env: Self::Context) -> anyhow::Result<()> { - let conn = env.deadpool.get().await?; - spawn_blocking(move || { - let conn: &mut AsyncConnectionWrapper<_> = &mut conn.into(); + let mut conn = env.deadpool.get().await?; - info!("Running VACUUM on version_downloads table"); - sql_query("VACUUM version_downloads;").execute(conn)?; - info!("Finished running VACUUM on version_downloads table"); - Ok(()) - }) - .await + info!("Running VACUUM on version_downloads table"); + sql_query("VACUUM version_downloads;") + .execute(&mut conn) + .await?; + info!("Finished running VACUUM on version_downloads table"); + Ok(()) } }