27 unstable releases
Uses new Rust 2024
| 0.14.0 | Dec 8, 2025 |
|---|---|
| 0.13.0 | Apr 8, 2025 |
| 0.12.0 | Sep 23, 2022 |
| 0.11.0 | Dec 9, 2021 |
| 0.1.3 | Jun 5, 2016 |
#621 in Database interfaces
2,823 downloads per month
Used in maman
21KB
239 lines
Rust Sidekiq Client
Sidekiq client allowing to push jobs. Using the Sidekiq job format as reference.
Dependencies
Installation
[dependencies]
sidekiq = "0.12"
Default environment variables
- REDIS_URL="redis://127.0.0.1/"
Used by
Examples
use sidekiq::{Job, Value};
use sidekiq::{Client, ClientOpts, create_redis_pool};
use time::{OffsetDateTime, Duration};
let ns = "test";
let client_opts = ClientOpts {
namespace: Some(ns.to_string()),
..Default::default()
};
let pool = create_redis_pool().unwrap();
let client = Client::new(pool, client_opts);
let class = "MyClass".to_string();
// basic job
let job = Job::new(class, vec![sidekiq::Value::Null], Default::default());
match client.push(job) {
Ok(_) => {},
Err(err) => {
println!("Sidekiq push failed: {}", err);
},
}
// scheduled-jobs (perform_in)
let job = Job::new(class, vec![sidekiq::Value::Null], Default::default());
let interval = Duration::hours(1);
match client.perform_in(interval, job) {
Ok(_) => {},
Err(err) => {
println!("Sidekiq push failed: {}", err);
},
}
// scheduled-jobs (perform_at)
let job = Job::new(class, vec![sidekiq::Value::Null], Default::default());
let start_at = OffsetDateTime::now_utc().checked_add(Duration::HOUR).unwrap();
match client.perform_at(start_at, job) {
Ok(_) => {},
Err(err) => {
println!("Sidekiq push failed: {}", err);
},
}
REFERENCES
- http://julienblanchard.com/2015/using-resque-with-rust/
- https://github.com/d-unseductable/rust_sidekiq
LICENSE
The MIT License
Copyright (c) 2016-2021 Laurent Arnoud laurent@spkdev.net
Dependencies
~10–27MB
~368K SLoC