rustapi-jobs

Crates.iorustapi-jobs
lib.rsrustapi-jobs
version0.1.207
created_at2026-01-14 03:45:05.326453+00
updated_at2026-01-26 00:04:07.253262+00
descriptionRobust background job processing for RustAPI. Support for Redis and PostgreSQL backends, retries, and scheduled tasks.
homepagehttps://github.com/Tuntii/RustAPI
repositoryhttps://github.com/Tuntii/RustAPI
max_upload_size
id2042103
size101,870
Tunay (Tuntii)

documentation

https://docs.rs/rustapi-jobs

README

RustAPI Jobs

Background job processing for RustAPI.

Offload heavy tasks (emails, report generation, webhooks) to background workers.

Key Features

  • Backend Agnostic: Drivers for Redis (recommended for speed) and PostgreSQL (for transactional reliability).
  • At-Least-Once Delivery: Jobs are not lost if a worker crashes.
  • Retries: Configurable exponential backoff policies.
  • Scheduling: Cron-like recurring tasks.

Quick Start

use rustapi_jobs::{Job, JobContext};

#[derive(Serialize, Deserialize)]
struct SendEmail {
    to: String,
    content: String,
}

#[async_trait]
impl Job for SendEmail {
    const NAME: &'static str = "send_email";

    async fn run(&self, _ctx: JobContext) -> Result<()> {
        // Send the email...
        Ok(())
    }
}

// Enqueue
queue.push(SendEmail { ... }).await?;
Commit count: 208

cargo fmt