0.0.4 • Published 5 years ago
rsmq-promise-native v0.0.4
rsmq-promise-native - Native Promise Interface for RMSQ
A lightweight message queue for Node.js that requires no dedicated queue server. Just a Redis server.
Like rsmq-promise but with native promises instead of bluebird.

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
idthat you can use to delete the message. - The
sendMessagemethod will return theidfor a sent message. - The
receiveMessagemethod will return anidalong 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
createQueueandreceiveMessagemethods described below for optional parameters like visibility timeout and delay.
Install
npm install --save rsmq-promise-nativeQuickstart
const RSMQPromise = require('rsmq-promise-native');
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 serverport(Number): optional (Default: 6379) The Redis portoptions(Object): optional (Default: {}) The Redis options object.client(RedisClient): optional A existing redis client instance.hostandserverwill be ignored.ns(String): optional (Default: "rsmq") The namespace prefix used for all keys created by RSMQrealtime(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));Converted from: rsmq-promise by msfidelis
Thanks for: Patrick Liess
More info: https://github.com/smrchy/rsmq