Skip to content

Commit 12761cb

Browse files
committed
ajustes rabbitmq
1 parent 2b30c27 commit 12761cb

3 files changed

Lines changed: 26 additions & 17 deletions

File tree

src/config/env.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ export class ConfigService {
285285
},
286286
RABBITMQ: {
287287
ENABLED: process.env?.RABBITMQ_ENABLED === 'true',
288-
MODE: (process.env?.RABBITMQ_MODE as Rabbitmq['MODE']) || 'isolated',
288+
MODE: (process.env?.RABBITMQ_MODE as 'isolated' | 'global' | 'single') || 'isolated',
289289
EXCHANGE_NAME: process.env?.RABBITMQ_EXCHANGE_NAME || 'evolution_exchange',
290290
URI: process.env.RABBITMQ_URI || '',
291291
},

src/libs/amqp.server.ts

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,9 @@ export const initAMQP = () => {
4040
return;
4141
}
4242

43-
channel.assertExchange(rabbitConfig.EXCHANGE_NAME, 'topic', {
43+
const exchangeName = rabbitConfig.EXCHANGE_NAME ?? 'evolution_exchange';
44+
45+
channel.assertExchange(exchangeName, 'topic', {
4446
durable: true,
4547
autoDelete: false,
4648
});
@@ -61,13 +63,14 @@ export const getAMQP = (): Channel | null => {
6163
export const initQueues = (instanceName: string, events: string[]) => {
6264
if (!instanceName || !events || !events.length) return;
6365
const rabbitConfig = configService.get<Rabbitmq>('RABBITMQ');
64-
const TWO_DAYS_IN_MS = 2 * 24 * 60 * 60 * 1000;
66+
// const TWO_DAYS_IN_MS = 2 * 24 * 60 * 60 * 1000;
6567
const amqp = getAMQP();
6668

67-
let exchangeName = rabbitConfig.EXCHANGE_NAME;
69+
const rabbitMode = rabbitConfig.MODE || 'isolated';
70+
let exchangeName = rabbitConfig.EXCHANGE_NAME ?? 'evolution_exchange';
6871

6972
const receivedEvents = events.map(parseEvtName);
70-
if (rabbitConfig.MODE === 'isolated') {
73+
if (rabbitMode === 'isolated') {
7174
exchangeName = instanceName ?? 'evolution_exchange';
7275

7376
receivedEvents.forEach((event) => {
@@ -80,15 +83,15 @@ export const initQueues = (instanceName: string, events: string[]) => {
8083
amqp.assertQueue(queueName, {
8184
durable: true,
8285
autoDelete: false,
83-
messageTtl: TWO_DAYS_IN_MS,
86+
// messageTtl: TWO_DAYS_IN_MS,
8487
arguments: {
8588
'x-queue-type': 'quorum',
8689
},
8790
});
8891

8992
amqp.bindQueue(queueName, exchangeName, event);
9093
});
91-
} else if (rabbitConfig.MODE === 'single') {
94+
} else if (rabbitMode === 'single') {
9295
amqp.assertExchange(exchangeName, 'topic', {
9396
durable: true,
9497
autoDelete: false,
@@ -98,7 +101,7 @@ export const initQueues = (instanceName: string, events: string[]) => {
98101
amqp.assertQueue(queueName, {
99102
durable: true,
100103
autoDelete: false,
101-
messageTtl: TWO_DAYS_IN_MS,
104+
// messageTtl: TWO_DAYS_IN_MS,
102105
arguments: {
103106
'x-queue-type': 'quorum',
104107
},
@@ -107,7 +110,7 @@ export const initQueues = (instanceName: string, events: string[]) => {
107110
receivedEvents.forEach((event) => {
108111
amqp.bindQueue(queueName, exchangeName, event);
109112
});
110-
} else if (rabbitConfig.MODE === 'global') {
113+
} else if (rabbitMode === 'global') {
111114
const queues = Object.keys(globalQueues);
112115

113116
const addQueues = queues.filter((evt) => {
@@ -132,7 +135,7 @@ export const initQueues = (instanceName: string, events: string[]) => {
132135
amqp.assertQueue(queueName, {
133136
durable: true,
134137
autoDelete: false,
135-
messageTtl: TWO_DAYS_IN_MS,
138+
// messageTtl: TWO_DAYS_IN_MS,
136139
arguments: {
137140
'x-queue-type': 'quorum',
138141
},
@@ -161,11 +164,13 @@ export const initQueues = (instanceName: string, events: string[]) => {
161164
export const removeQueues = (instanceName: string, events: string[]) => {
162165
if (!events || !events.length) return;
163166
const rabbitConfig = configService.get<Rabbitmq>('RABBITMQ');
164-
let exchangeName = rabbitConfig.EXCHANGE_NAME;
167+
168+
const rabbitMode = rabbitConfig.MODE || 'isolated';
169+
let exchangeName = rabbitConfig.EXCHANGE_NAME ?? 'evolution_exchange';
165170
const amqp = getAMQP();
166171

167172
const receivedEvents = events.map(parseEvtName);
168-
if (rabbitConfig.MODE === 'isolated') {
173+
if (rabbitMode === 'isolated') {
169174
exchangeName = instanceName;
170175
receivedEvents.forEach((event) => {
171176
amqp.assertExchange(exchangeName, 'topic', {
@@ -190,8 +195,9 @@ interface SendEventData {
190195

191196
export const sendEventData = ({ data, event, wuid, apiKey, instanceName }: SendEventData) => {
192197
const rabbitConfig = configService.get<Rabbitmq>('RABBITMQ');
193-
let exchangeName = rabbitConfig.EXCHANGE_NAME;
194-
if (rabbitConfig.MODE === 'isolated') exchangeName = instanceName ?? 'evolution_exchange';
198+
const rabbitMode = rabbitConfig.MODE || 'isolated';
199+
let exchangeName = rabbitConfig.EXCHANGE_NAME ?? 'evolution_exchange';
200+
if (rabbitMode === 'isolated') exchangeName = instanceName ?? 'evolution_exchange';
195201

196202
amqpChannel.assertExchange(exchangeName, 'topic', {
197203
durable: true,
@@ -200,9 +206,9 @@ export const sendEventData = ({ data, event, wuid, apiKey, instanceName }: SendE
200206

201207
let queueName = event;
202208

203-
if (rabbitConfig.MODE === 'single') {
209+
if (rabbitMode === 'single') {
204210
queueName = 'evolution';
205-
} else if (rabbitConfig.MODE === 'global') {
211+
} else if (rabbitMode === 'global') {
206212
let eventName = '';
207213

208214
Object.keys(globalQueues).forEach((key) => {
@@ -214,7 +220,7 @@ export const sendEventData = ({ data, event, wuid, apiKey, instanceName }: SendE
214220
}
215221
});
216222
queueName = eventName;
217-
} else if (rabbitConfig.MODE === 'isolated') {
223+
} else if (rabbitMode === 'isolated') {
218224
queueName = `${instanceName}.${event}`;
219225
}
220226

@@ -224,6 +230,8 @@ export const sendEventData = ({ data, event, wuid, apiKey, instanceName }: SendE
224230
arguments: { 'x-queue-type': 'quorum' },
225231
});
226232

233+
console.log('envia na fila: ', queueName, exchangeName, event);
234+
227235
amqpChannel.bindQueue(queueName, exchangeName, event);
228236

229237
const serverUrl = configService.get<HttpServer>('SERVER').URL;

src/whatsapp/services/whatsapp.service.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -685,6 +685,7 @@ export class WAStartupService {
685685

686686
if (amqp) {
687687
if (Array.isArray(rabbitmqLocal) && rabbitmqLocal.includes(we)) {
688+
console.log('envia na fila: ', we);
688689
sendEventData({
689690
data,
690691
event,

0 commit comments

Comments
 (0)