Rust Sidekiq Client
Sidekiq job format
Dependencies
Installation
[dependencies]
sidekiq = "0.2"
Usage
Job
extern crate sidekiq;
use std::default::Default;
use sidekiq::{Job, JobOpts};
use serde_json::value::Value;
use serde_json::builder::{ArrayBuilder, ObjectBuilder};
fn args() -> Vec<Value> {
let arg_str: Value = Value::String("arg".to_string());
let arg_int: Value = Value::I64(42);
let arg_bool: Value = Value::Bool(true);
let arg_object = ObjectBuilder::new()
.insert("class".to_string(), "Ruby")
.build();
let arg_array = ArrayBuilder::new()
.push(1.2)
.build();
let args: Vec<Value> = vec![arg_str, arg_int, arg_bool, arg_object, arg_array];
args
}
let class = "MyClass".to_string();
let job_opts = JobOpts {
queue: "test".to_string(),
..Default::default()
};
let job = Job::new(class, args(), Default::default());
Client
extern crate sidekiq;
use std::default::Default;
use sidekiq::{Client, ClientOpts, create_redis_pool};
let ns = "test";
let client_opts = ClientOpts {
namespace: Some(ns.to_string()),
..Default::default()
};
let client = Client::new(create_redis_pool(), client_opts);
match client.push(job) {
Ok(_) => assert!(true),
Err(_) => assert!(false),
}
REFERENCES
LICENSE
The MIT License
Copyright (c) 2016 Laurent Arnoud laurent@spkdev.net
