memory-message-queue
v1.0.1
Published
An async message queue that lives in NodeJS's memory. Good for simulating queues in development environments. You may wish to use in combination with [iterator-worker](https://www.npmjs.com/package/iterator-worker).
Downloads
4
Maintainers
Readme
Memory Message Queue
An async message queue that lives in NodeJS's memory. Good for simulating queues in development environments. You may wish to use in combination with iterator-worker.
Implements abstract-message-queue.
Usage
import Queue from 'memory-message-queue';
const maxRetries = 4;
const queue = new Queue(maxRetries);
// Once the queue is constructed it is usable as specified by `abstract-message-queue`
setTimeout(()=>queue.send({ info: 'A message can be any object or string', exit: false }), 1000);
setTimeout(()=>queue.send({ info: 'An error has occured!', exit: true }), 2000);
// Wait for the queue to send and forward messages
for await(const message of queue) {
console.log(message.info);
if(message.exit === false) {
// Remove message from the queue
queue.delete();
} else {
// Messages will be re-added to the queue if `queue.delete` is not called
// Loop will wait for the next message forever unless explicitly cancelled.
break;
}
}
Dependencies
- abstract-message-queue: ^1.0.0
- async-fifo-queue: ^1.1.0
memory-message-queue
Memory Message Queue
module.exports ⏏
An in-memory message queue. Reqeued messages are delivered instantly.
Kind: Exported class
See: abstract-message-queue for usage details
new module.exports(maxRetries)
Create an instance of MemoryMessageQueue
| Param | Type | Default | Description | | --- | --- | --- | --- | | maxRetries | Number | 2 | The number of times a message is retried before it is removed from the queue |