{"repo":"smrchy/rsmq","free":true,"listed":false,"github":"https://github.com/smrchy/rsmq","clone":"git clone https://github.com/smrchy/rsmq.git","description":"Redis Simple Message Queue","language":"JavaScript","stars":1817,"topics":["rsmq","queue","message-queue","fifo","redis","nodejs","npm"],"license":"MIT","category":"databases-storage","readme_excerpt":"Redis Simple Message Queue A lightweight message queue for Node.js that requires no dedicated queue server. Just a Redis server. tl;dr: If you run a Redis server and currently use Amazon SQS or a similar message queue you might as well use this fast little replacement. Using a shared Redis server multiple Node.js processes can send / receive messages. Features Lightweight: Just Redis and 500 lines of javascript. redis is the only dependency. Speed: Send/receive 10000+ messages per second on an average machine. It's just Redis . Guaranteed delivery of a message to exactly one recipient within a messages visibility timeout. Received messages that are not deleted will reappear after the visibility timeout. Test coverage: see the test folder. A message is deleted by the message id. The message id is returned by the sendMessage and receiveMessage method. Messages stay in the queue unless deleted. Optional RESTful interface via rest-rsmq Typescript Typings ❤️ Optional Promise-based API (only if Promise is defined), just suffix your method with Async , eg: sendMessage - sendMessageAsync , all queue methods are supported Note: RSMQ uses the Redis EVAL command (LUA scripts) so the minimum Redis version is 2.6+. The minimum supported Node.js version is 20. 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.","default_branch":null,"files":null,"tree":[],"storefront":"/r/smrchy","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/smrchy/rsmq/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}