904118851 d3db235384 123 2 luni în urmă
..
README.md d3db235384 123 2 luni în urmă
package.json d3db235384 123 2 luni în urmă
receive_stream.js d3db235384 123 2 luni în urmă
send_stream.js d3db235384 123 2 luni în urmă

README.md

RabbitMQ Stream Examples

The stream queues are available starting from RabbitMQ 3.9

These examples show how to use stream queues with the lib.

Send a message to a stream queue

node send_stream.js

Receive all the messages from stream queue:

node receive_stream.js

Consumers can be configured to receive messages using an offset via the x-stream-offset argument. e.g.

channel.consume(queue, onMessage, {
  noAck: false,
  arguments: {
    'x-stream-offset': 'first'
  }
});

RabbitMQ supports six different types of offset, however specifying them can be

Offset Type Example Value Notes
First {'x-stream-offset':'first'} Start from the first message in the log
Last {'x-stream-offset':'last'} Start from the last "chunk" of messages (could be multiple messages)
Next {'x-stream-offset':'next'} Start from the next message (the default)
Offset {'x-stream-offset':5} a numerical value specifying an exact offset to attach to the log at
Timestamp {'x-stream-offset':{'!':'timestamp',value:1686519750}} a timestamp value specifying the point in time to attach to the log at. The timestamp must be the number of seconds since 00:00:00 UTC, 1970-01-01. Consumers can receive messages published a bit before the specified timestamp.
Interval {'x-stream-offset':'1h'} the time interval relative to current time to attach the log at. Valid units are Y, M, D, h, m and s

See https://www.rabbitmq.com/streams.html#consuming for more details