memory-message-queue

1.0.1 • Public • Published

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

Package Sidebar

Install

npm i memory-message-queue

Weekly Downloads

0

Version

1.0.1

License

ISC

Unpacked Size

5.82 kB

Total Files

4

Last publish

Collaborators

  • paulkiddle