Description
This is a distributable queue for redis. It has At-Least-One consistency. You can setup your workers on multiple nodes. Its compatible with typescript 2.0 +
Qedis alternatives and similar modules
Based on the "Job Queues" category.
Alternatively, view Qedis alternatives based on common mentions on social networks and blogs.
-
bull
Premium Queue package for handling distributed jobs and messages in NodeJS. -
The gist
BullMQ - Message Queue and Batch processing for NodeJS and Python based on Redis -
Bee-Queue
A simple, fast, robust job/task queue for Node.js, backed by Redis. -
Croner
Trigger functions or evaluate cron expressions in JavaScript or TypeScript. No dependencies. Most features. Node. Deno. Bun. Browser. -
Ironium
Job queues and scheduled jobs for Node.js, Beanstalkd and/or Iron.io. -
idoit
Redis-backed task queue engine with advanced task control and eventual consistency -
Conveyor MQ
A fast, robust and extensible distributed task/job queue for Node.js, powered by Redis.
Appwrite - The open-source backend cloud platform
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Qedis or a related project?
Popular Comparisons
README
Introduction
This is a distributable queue for redis. It has At-Least-One consistency. You can setup your workers on multiple nodes. Its compatible with typescript 2.0 +
Example
see
Example.ts
Classes
Queue
constructor(Redis.RedisClient, string)
It takes a redis client and a string as the queue name.
async add(Task): Promise<void>
Push a task to the queue
async fetch(): Promise<Task>
Await and fetch a task, this can be called multiple times and resolved seperately, each time
fetch()
is called, a new defered promise will be returned.
async acknowledge(Task, boolean): Promise<void>
Acknowledges a task, remove it from queue. second boolean argument specifies if the record itself should be also deleted.
start()
Start pulling for task
stop()
Stop pulling for task
setMaxInterval(number)
Set the max pulling interval that this queue could increment to (while idling)
setInitialInterval(number)
Set the interval to be at after a task if fetched (everytime a task is fetched, interval will be reset to this value, and if not, it will increment)
setStep(number)
Set step how much the interval increment each time (while idleing)
setRetryTimeout(number)
Each time a task is fetched, it will be put to a pending queue (
acknowledge
removes it). During each time of pulling procedure, task will be fetched from pending first and check if it exceeds the retry timeout. Otherwise, task will be retrieved for queue, where new tasks resides in.
Task
Task is a Map, with key: string, and value: number | string | boolean.