rediqueue

A robust message queue for node.js built with redis streams

Usage no npm install needed!

<script type="module">
  import rediqueue from 'https://cdn.skypack.dev/rediqueue';
</script>

README

RediQueue

The simple message queue built on Redis Streams.



Queue Monitoring UI

Coming soon...

Request beta access

RediQueue Features

  • Robust design based on Redis Streams
  • Highly memory efficient
  • Automatic environment separation
  • Automatic recovery from process crashes
  • Automatic queue trimming by count, time, or memory usage

Install

npm install rediqueue

Get a FREE Redis Instance

Redis Cloud

Contributing

We welcome all types of contributions, either code fixes, new features or doc improvements. Code formatting is enforced by prettier. For commits please follow conventional commits convention. All code must pass lint rules and test suites before it can be merged into develop.


Basic Usage

import RediQueue from 'rediqueue'

// Create a queue
const notificationQueue = new RediQueue('notifications', { 
    redis: {
        host: '127.0.0.1',
        port: 6379
    }
})

// Add a job to the queue
notificationQueue.add({
    email: 'someone@example.com'
})

// Process jobs
notificationQueue.process((job) => {

    const { data } = job

    return sendEmailFunction(data.email) {
        ...
    }

})

Documentation

Coming soon...

Important

RediQueue aims for at-least-once strategy. If a consumer fails or is killed while processing a job, a job could be processed more than once.