apalis-sqlite 1.0.0-rc.11

Background task processing for rust using apalis and sqlite
Documentation
use std::time::Duration;

use apalis_core::backend::{Backend, Vacuum};

use crate::{Error, SqliteStorage};

impl<Args> Vacuum for SqliteStorage<Args>
where
    Self: Backend<Error = Error>,
    Args: Send,
{
    async fn vacuum(&mut self) -> Result<usize, Self::Error> {
        let res = sqlx::query_file!("queries/backend/vacuum.sql")
            .execute(&self.persistence.pool)
            .await?;
        Ok(res.rows_affected() as usize)
    }

    async fn vacuum_before(&mut self, duration: Duration) -> Result<usize, Self::Error> {
        let res = sqlx::query_file!(
            "queries/backend/vacuum_before.sql",
            duration.as_secs() as i64
        )
        .execute(&self.persistence.pool)
        .await?;
        Ok(res.rows_affected() as usize)
    }
}