25个版本
0.12.0 | 2022年9月23日 |
---|---|
0.11.0 | 2021年12月9日 |
0.10.1 | 2021年11月22日 |
0.9.1 | 2021年4月5日 |
0.1.3 | 2016年6月5日 |
#1348 in 数据库接口
2,974 每月下载量
用于 maman
15KB
239 行
Rust Sidekiq 客户端
Sidekiq 客户端,允许推送工作。以Sidekiq 工作格式为参考。
依赖项
安装
[dependencies]
sidekiq = "0.12"
默认环境变量
- REDIS_URL="redis://127.0.0.1/"
被使用于
示例
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);
},
}
参考
- http://julienblanchard.com/2015/using-resque-with-rust/
- https://github.com/d-unseductable/rust_sidekiq
许可证
MIT许可证
版权所有 (c) 2016-2021 Laurent Arnoud [email protected]
依赖项
~10–20MB
~326K SLoC