Sidekiq-rs (aka rusty-sidekiq
) is a strongly typed client and server written in async rust. It can interoperate with a ruby app using sidekiq. It's great!
#[derive(Deserialize, Debug, Serialize)]
struct PaymentReportArgs {
user_guid: String,
}
#[async_trait]
impl Worker for PaymentReportWorker {
// Default worker options
fn opts() -> sidekiq::WorkerOpts {
sidekiq::WorkerOpts::new().queue("reports")
}
// Worker implementation
async fn perform(&self, args: PaymentReportArgs) -> Result<()> {
self.send_report(args.user_guid).await
}
}
Start using it today!
cargo add rusty-sidekiq