rabbitmq-tutorials/javascript-nodejs-stream/offset_tracking_send.js

37 lines
1018 B
JavaScript

const rabbit = require("rabbitmq-stream-js-client");
async function main() {
console.log("Connecting...");
const client = await rabbit.connect({
vhost: "/",
port: 5552,
hostname: "localhost",
username: "guest",
password: "guest",
});
console.log("Making sure the stream exists...");
const streamName = "stream-offset-tracking-javascript";
await client.createStream({ stream: streamName, arguments: {} });
console.log("Creating the publisher...");
const publisher = await client.declarePublisher({ stream: streamName });
const messageCount = 100;
console.log(`Publishing ${messageCount} messages`);
for (let i = 0; i < messageCount; i++) {
const body = i === messageCount - 1 ? "marker" : `hello ${i}`;
await publisher.send(Buffer.from(body));
}
console.log("Closing the connection...");
await client.close();
}
main()
.then(() => console.log("done!"))
.catch((res) => {
console.log("Error in publishing message!", res);
process.exit(-1);
});