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

#1959 in Database interfaces

Download history 2017/week @ 2023-11-20 1444/week @ 2023-11-27 1593/week @ 2023-12-04 1406/week @ 2023-12-11 1153/week @ 2023-12-18 479/week @ 2023-12-25 1074/week @ 2024-01-01 1521/week @ 2024-01-08 1374/week @ 2024-01-15 1007/week @ 2024-01-22 891/week @ 2024-01-29 879/week @ 2024-02-05 822/week @ 2024-02-12 589/week @ 2024-02-19 905/week @ 2024-02-26 1144/week @ 2024-03-04

3,461 downloads per month
Used in maman

MIT license

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

LICENSE

The MIT License

Copyright (c) 2016-2021 Laurent Arnoud laurent@spkdev.net


Build Version Documentation License Dependency status

Dependencies

~10–22MB
~340K SLoC