ishikari-macros

Crates.ioishikari-macros
lib.rsishikari-macros
version0.1.1
created_at2025-06-14 19:27:14.24885+00
updated_at2025-06-14 21:48:30.852252+00
descriptionProcedural macros for the Ishikari job processing framework. Provides #[worker] and #[job] attribute macros for implementing worker traits and deriving job-related functionality.
homepage
repositoryhttps://github.com/scrogson/ishikari
max_upload_size
id1712616
size7,474
Sonny Scroggin (scrogson)

documentation

README

Ishikari Macros

This crate provides procedural macros for the Ishikari job processing framework.

Macros

#[job]

The #[job] attribute macro is used to derive job-related functionality for a struct. It automatically:

  • Implements necessary traits for job serialization/deserialization
  • Adds job-specific functionality
use ishikari::prelude::*;

#[derive(Debug)]
#[ishikari::job]
struct MyJob {
    // Your job data here
}

#[worker]

The #[worker] attribute macro is used to implement the Worker trait for a type. It provides:

  • Default implementations for queue configuration
  • Retry and backoff strategy configuration
  • Integration with the job processing system
use ishikari::prelude::*;

#[ishikari::worker(queue = "high_priority", max_attempts = 3)]
impl Worker for MyJob {
    async fn perform(&self, ctx: Context) -> PerformResult {
        // Your job processing logic here
        Complete::default().into()
    }
}

Usage

This crate is automatically included as a dependency when you add ishikari to your project. You don't need to add it separately.

License

MIT License

Commit count: 18

cargo fmt