All Projects → msfidelis → rsmq-promise

msfidelis / rsmq-promise

Licence: MIT license
Promise interface for RSMQ

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to rsmq-promise

Sidekiq Job Php
Push and schedule jobs to Sidekiq from PHP
Stars: ✭ 34 (+21.43%)
Mutual labels:  queue, worker
Workq
Job server in Go
Stars: ✭ 1,546 (+5421.43%)
Mutual labels:  queue, worker
Laravel Elasticbeanstalk Queue Worker
Stars: ✭ 48 (+71.43%)
Mutual labels:  queue, worker
celery.node
Celery task queue client/worker for nodejs
Stars: ✭ 164 (+485.71%)
Mutual labels:  queue, worker
qless-php
PHP Bindings for qless
Stars: ✭ 25 (-10.71%)
Mutual labels:  queue, worker
Arq
Fast job queuing and RPC in python with asyncio and redis.
Stars: ✭ 695 (+2382.14%)
Mutual labels:  queue, worker
Rsmq
Redis Simple Message Queue
Stars: ✭ 1,556 (+5457.14%)
Mutual labels:  queue, rsmq
Tasktiger
Python task queue using Redis
Stars: ✭ 1,053 (+3660.71%)
Mutual labels:  queue, worker
Aint Queue
🚀 An async-queue library built on top of swoole, flexable multi-consumer, coroutine supported. 基于 Swoole 的一个异步队列库,可弹性伸缩的工作进程池,工作进程协程支持。
Stars: ✭ 143 (+410.71%)
Mutual labels:  queue, worker
Simpleue
PHP queue worker and consumer - Ready for AWS SQS, Redis, Beanstalkd and others.
Stars: ✭ 124 (+342.86%)
Mutual labels:  queue, worker
jrsmq
A lightweight message queue for Java that requires no dedicated queue server. Just a Redis server.
Stars: ✭ 28 (+0%)
Mutual labels:  queue, rsmq
fastlane
Fastlane is a redis and docker based queueing service.
Stars: ✭ 48 (+71.43%)
Mutual labels:  queue, worker
php-rsmq
PHP implementation of Redis Simple Message Queue
Stars: ✭ 22 (-21.43%)
Mutual labels:  queue, rsmq
wtsqs
Simplified Node AWS SQS Worker Wrapper
Stars: ✭ 18 (-35.71%)
Mutual labels:  queue, worker
Ytask
YTask is an asynchronous task queue for handling distributed jobs in golang(go异步任务框架)
Stars: ✭ 121 (+332.14%)
Mutual labels:  queue, worker
PyRSMQ
Python Implementation of Redis Simple Message Queue Algorithm
Stars: ✭ 35 (+25%)
Mutual labels:  queue, rsmq
leek
Celery Tasks Monitoring Tool
Stars: ✭ 77 (+175%)
Mutual labels:  queue, worker
parallelizer
Simplifies the parallelization of function calls.
Stars: ✭ 62 (+121.43%)
Mutual labels:  worker
orkid-node
Reliable and modern Redis Streams based task queue for Node.js 🤖
Stars: ✭ 61 (+117.86%)
Mutual labels:  queue
deque
A highly optimized double-ended queue
Stars: ✭ 75 (+167.86%)
Mutual labels:  queue

rsmq-promise - Promise interface for RSMQ

npm version

A lightweight message queue for Node.js that requires no dedicated queue server. Just a Redis server.

RSMQ: Redis Simple Message Queue for Node.js

Usage

  • After creating a queue you can send messages to that queue.
  • The messages will be handled in a FIFO (first in first out) manner unless specified with a delay.
  • Every message has a unique id that you can use to delete the message.
  • The sendMessage method will return the id for a sent message.
  • The receiveMessage method will return an id along with the message and some stats.
  • Should you not delete the message it will be eligible to be received again after the visibility timeout is reached.
  • Please have a look at the createQueue and receiveMessage methods described below for optional parameters like visibility timeout and delay.

Install

npm install --save rsmq-promise

Quickstart

const RSMQPromise = require('rsmq-promise');

const rsmq = new RSMQPromise({
    host: "127.0.0.1", 
    port: 6379
});

Parameters for RedisSMQ via an options object:

  • host (String): optional (Default: "127.0.0.1") The Redis server
  • port (Number): optional (Default: 6379) The Redis port
  • options (Object): optional (Default: {}) The Redis options object.
  • client (RedisClient): optional A existing redis client instance. host and server will be ignored.
  • ns (String): optional (Default: "rsmq") The namespace prefix used for all keys created by RSMQ
  • realtime (Boolean): optional (Default: false) Enable realtime PUBLISH of new messages (see the Realtime section)

Create a Queue

rsmq.createQueue({qname: 'myqueue'})
    .then(done => console.log('Queue created!'))
    .catch(err => console.log(err));

Send Messages

rsmq.sendMessage({ qname: 'myqueue', message: 'my message!' })
    .then(result => console.log("Message sent. ID:", result))
    .catch(err => console.log(err));

Receive a message

rsmq.receiveMessage({qname: 'myqueue'})
    .then(message => console.log(message))
    .catch(err => console.log(err))

Delete a message

rsmq.deleteMessage({ qname: 'myqueue', id: 'dhoiwpiirm15ce77305a5c3a3b0f230c6e20f09b55'})
    .then(result => console.log("Message deleted."))
    .catch(err => console.log("Message not found."));

List Queues

rsmq.listQueues()
    .then(queues => console.log(queues))
    .catch(err => console.log(err));

Quit Connection

rsmq.quit()
    .then(success => console.log(success))
    .catch(err => console.log(err));

Thanks for: Patrick Liess

More info: https://github.com/smrchy/rsmq

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].