| Crates.io | ishikari |
| lib.rs | ishikari |
| version | 0.1.1 |
| created_at | 2025-06-14 19:28:26.55699+00 |
| updated_at | 2025-06-14 21:48:58.483048+00 |
| description | Atomic, transaction-safe job queueing for Rust applications. Backed by PostgreSQL. Features include reliable background job execution, queue management, retry mechanisms, and flexible backoff strategies. |
| homepage | |
| repository | https://github.com/scrogson/ishikari |
| max_upload_size | |
| id | 1712617 |
| size | 133,939 |
Ishikari is a robust job processing system written in Rust, designed for reliable background job execution with features like retries, backoff strategies, and queue management.
Add to Cargo.toml:
ishikari = "0.1.0"
use ishikari::prelude::*;
#[derive(Debug)]
#[ishikari::job]
struct MyJob {
// Your worker state here
}
#[ishikari::worker]
impl Worker for MyJob {
async fn perform(&self, _ctx: Context) -> PerformResult {
// Your job processing logic here
Complete::default().into()
}
}
use ishikari::prelude::*;
async fn schedule_job(worker: MyJob) -> Result<Job, sqlx::Error> {
let job = ishikari::insert(worker, &pool).await?;
Ok(job)
}
MIT License