ajustes rabbitmq

This commit is contained in:
Davidson Gomes 2024-03-08 09:47:04 -03:00
parent 03684a893d
commit 2b30c273a4

View File

@ -191,17 +191,20 @@ interface SendEventData {
export const sendEventData = ({ data, event, wuid, apiKey, instanceName }: SendEventData) => { export const sendEventData = ({ data, event, wuid, apiKey, instanceName }: SendEventData) => {
const rabbitConfig = configService.get<Rabbitmq>('RABBITMQ'); const rabbitConfig = configService.get<Rabbitmq>('RABBITMQ');
let exchangeName = rabbitConfig.EXCHANGE_NAME; let exchangeName = rabbitConfig.EXCHANGE_NAME;
if (rabbitConfig.MODE === 'isolated') exchangeName = instanceName; if (rabbitConfig.MODE === 'isolated') exchangeName = instanceName ?? 'evolution_exchange';
amqpChannel.assertExchange(exchangeName, 'topic', { amqpChannel.assertExchange(exchangeName, 'topic', {
durable: true, durable: true,
autoDelete: false, autoDelete: false,
}); });
let queueName = event; let queueName = event;
if (rabbitConfig.MODE === 'single') { if (rabbitConfig.MODE === 'single') {
queueName = 'evolution'; queueName = 'evolution';
} else if (rabbitConfig.MODE === 'global') { } else if (rabbitConfig.MODE === 'global') {
let eventName = ''; let eventName = '';
Object.keys(globalQueues).forEach((key) => { Object.keys(globalQueues).forEach((key) => {
if (globalQueues[key].includes(event as Events)) { if (globalQueues[key].includes(event as Events)) {
eventName = key; eventName = key;
@ -211,18 +214,23 @@ export const sendEventData = ({ data, event, wuid, apiKey, instanceName }: SendE
} }
}); });
queueName = eventName; queueName = eventName;
} else if (rabbitConfig.MODE === 'isolated') {
queueName = `${instanceName}.${event}`;
} }
amqpChannel.assertQueue(queueName, { amqpChannel.assertQueue(queueName, {
durable: true, durable: true,
autoDelete: false, autoDelete: false,
arguments: { 'x-queue-type': 'quorum' }, arguments: { 'x-queue-type': 'quorum' },
}); });
amqpChannel.bindQueue(queueName, exchangeName, event); amqpChannel.bindQueue(queueName, exchangeName, event);
const serverUrl = configService.get<HttpServer>('SERVER').URL; const serverUrl = configService.get<HttpServer>('SERVER').URL;
const tzoffset = new Date().getTimezoneOffset() * 60000; //offset in milliseconds const tzoffset = new Date().getTimezoneOffset() * 60000; //offset in milliseconds
const localISOTime = new Date(Date.now() - tzoffset).toISOString(); const localISOTime = new Date(Date.now() - tzoffset).toISOString();
const now = localISOTime; const now = localISOTime;
const message = { const message = {
event, event,
instance: instanceName, instance: instanceName,
@ -231,9 +239,11 @@ export const sendEventData = ({ data, event, wuid, apiKey, instanceName }: SendE
date_time: now, date_time: now,
sender: wuid, sender: wuid,
}; };
if (apiKey) { if (apiKey) {
message['apikey'] = apiKey; message['apikey'] = apiKey;
} }
logger.log({ logger.log({
queueName, queueName,
exchangeName, exchangeName,