25 releases
0.12.0 | Sep 23, 2022 |
---|---|
0.11.0 | Dec 9, 2021 |
0.10.1 | Nov 22, 2021 |
0.9.1 | Apr 5, 2021 |
0.1.3 | Jun 5, 2016 |
#1639 in Database interfaces
1,343 downloads per month
Used in maman
15KB
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–20MB
~307K SLoC