All Projects → spk → rust-sidekiq

spk / rust-sidekiq

Licence: MIT License
Rust Sidekiq Client

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to rust-sidekiq

Ytask
YTask is an asynchronous task queue for handling distributed jobs in golang(go异步任务框架)
Stars: ✭ 121 (+404.17%)
Mutual labels:  queue, job
Activejob Scheduler
A background job scheduler for any queue backend
Stars: ✭ 24 (+0%)
Mutual labels:  sidekiq, queue
Bull
Premium Queue package for handling distributed jobs and messages in NodeJS.
Stars: ✭ 11,748 (+48850%)
Mutual labels:  queue, job
Bull
Bull module for Nest framework (node.js) 🐮
Stars: ✭ 356 (+1383.33%)
Mutual labels:  queue, job
legacy-bottlerockets
Node.js high availability queue and scheduler for background job processing
Stars: ✭ 25 (+4.17%)
Mutual labels:  queue, job
Workq
Job server in Go
Stars: ✭ 1,546 (+6341.67%)
Mutual labels:  queue, job
Node Rethinkdb Job Queue
A persistent job or task queue backed by RethinkDB.
Stars: ✭ 158 (+558.33%)
Mutual labels:  queue, job
Pg Boss
Queueing jobs in Node.js using PostgreSQL like a boss
Stars: ✭ 525 (+2087.5%)
Mutual labels:  queue, job
nest-queue
Queue manager for NestJS Framework for Redis (via bull package)
Stars: ✭ 69 (+187.5%)
Mutual labels:  queue, job
Exq
Job processing library for Elixir - compatible with Resque / Sidekiq
Stars: ✭ 1,218 (+4975%)
Mutual labels:  sidekiq, queue
Swiftqueue
Job Scheduler for IOS with Concurrent run, failure/retry, persistence, repeat, delay and more
Stars: ✭ 276 (+1050%)
Mutual labels:  queue, job
orkid-node
Reliable and modern Redis Streams based task queue for Node.js 🤖
Stars: ✭ 61 (+154.17%)
Mutual labels:  queue, job
Aint Queue
🚀 An async-queue library built on top of swoole, flexable multi-consumer, coroutine supported. 基于 Swoole 的一个异步队列库,可弹性伸缩的工作进程池,工作进程协程支持。
Stars: ✭ 143 (+495.83%)
Mutual labels:  queue, job
Sidekiq Job Php
Push and schedule jobs to Sidekiq from PHP
Stars: ✭ 34 (+41.67%)
Mutual labels:  sidekiq, queue
wtsqs
Simplified Node AWS SQS Worker Wrapper
Stars: ✭ 18 (-25%)
Mutual labels:  queue, job
linda
Linda is a simple dispatcher library.
Stars: ✭ 12 (-50%)
Mutual labels:  queue, job
golib
Open version of common golang libraries useful to many projects.
Stars: ✭ 47 (+95.83%)
Mutual labels:  queue
Data-Structures-and-Algorithms
Implementation of various Data Structures and algorithms - Linked List, Stacks, Queues, Binary Search Tree, AVL tree,Red Black Trees, Trie, Graph Algorithms, Sorting Algorithms, Greedy Algorithms, Dynamic Programming, Segment Trees etc.
Stars: ✭ 144 (+500%)
Mutual labels:  queue
jrsmq
A lightweight message queue for Java that requires no dedicated queue server. Just a Redis server.
Stars: ✭ 28 (+16.67%)
Mutual labels:  queue
php-rsmq
PHP implementation of Redis Simple Message Queue
Stars: ✭ 22 (-8.33%)
Mutual labels:  queue

Rust Sidekiq Client

Sidekiq client allowing to push jobs. Using the Sidekiq job format as reference.

Dependencies

Installation

[dependencies]
sidekiq = "0.10"

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 [email protected]


Build Version Documentation License Dependency status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].