aux-broker-mq
Version:
Микросервис тест взаимодействия
61 lines (57 loc) • 1.64 kB
JavaScript
const express = require("express");
const app = express();
const { BrokerProxy } = require("../dist/BrokerProxy");
const broker = new BrokerProxy({ host: "auxilium:Saq33rrT@localhost" });
const fs = require("fs");
app.set("port", 3000);
app.use((req, res, next) => {
res.header("Access-Control-Allow-Origin", "*");
res.header(
"Access-Control-Allow-Methods",
"GET, POST, PATCH, PUT, DELETE, OPTIONS"
);
res.header(
"Access-Control-Allow-Headers",
"Origin, X-Requested-With, Content-Type, Accept, access"
);
next();
});
app.get("/v1/health", (req, res) => {
res.send("0");
broker.emit("testService.health", {
service: "test",
value: "success",
date: Date.now(),
});
});
app.get("/", (req, res) => {
res.send("REST API Сервер, Текущая версия V1.0.0");
});
app.listen(app.get("port"), async () => {
try {
await broker.connect();
await broker.createChannel("testService.health");
await broker.createExchange("article", "fanout");
setInterval((_) => {
broker.publish("article", '', {
title: "hello",
date: Date.now(),
description: "Nothing interesting"
})
}, 1000);
setInterval((_) => {
broker.publish("reviews", 'fake.cinema.cols', {
title: "the best review",
date: Date.now(),
})
}, 900);
setInterval((_) => {
broker.emit("testService.health",{check: 1, date: Date.now()});
}, 5000);
console.log(
"[*] Доступно подключение по адресу: 127.0.0.1:" + app.get("port")
);
} catch (ex) {
console.log(ex);
}
});