Pasado de paths de tsconfig a package.json por problemas que daba con yaml
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import { RabbitMQEventBus, RMQConnectionParams } from "sim-shared/infrastructure/RabbitMQEventBus.js"
|
|
import { env } from "./env"
|
|
|
|
const rmqUser = env.RABBITMQ_USER
|
|
const rmqPass = env.RABBITMQ_PASSWORD
|
|
const rmqHost = env.RABBITMQ_HOST
|
|
const rmqPort = Number(env.RABBITMQ_PORT)
|
|
const rmqSecure = false
|
|
const rmqVhost = env.RABBITMQ_VHOST
|
|
|
|
export const rmqConnOptions = <RMQConnectionParams>{
|
|
username: rmqUser,
|
|
password: rmqPass,
|
|
vhost: rmqVhost,
|
|
hostname: rmqHost,
|
|
port: rmqPort,
|
|
secure: rmqSecure,
|
|
}
|
|
|
|
export const rabbitmqEventBus = new RabbitMQEventBus({
|
|
connectionParams: rmqConnOptions
|
|
})
|
|
|
|
export async function startRMQClient() {
|
|
await rabbitmqEventBus.connect().catch(async e => {
|
|
console.error("Error en la conexion RMQ")
|
|
await rabbitmqEventBus.connect()
|
|
})
|
|
|
|
// Bindings especificos, deberia meterlos en la clase
|
|
try {
|
|
await rabbitmqEventBus.channel?.assertQueue("sim.nos")
|
|
} catch {
|
|
console.log("[i] Cola de sims de nos creada")
|
|
await rabbitmqEventBus.channel?.bindQueue("sim.nos", "sim.exchange", "sim.nos.*")
|
|
}
|
|
|
|
return rabbitmqEventBus
|
|
}
|