36 lines
1.3 KiB
JavaScript
36 lines
1.3 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getRabbitMQClientOptions = exports.getRabbitMQOptions = void 0;
|
|
const microservices_1 = require("@nestjs/microservices");
|
|
const getRabbitMQOptions = (queueName, url) => {
|
|
return {
|
|
transport: microservices_1.Transport.RMQ,
|
|
options: {
|
|
urls: [url || process.env.RABBITMQ_URL || 'amqp://localhost:5672'],
|
|
queue: queueName,
|
|
exchange: 'system_events',
|
|
exchangeType: 'topic',
|
|
queueOptions: {
|
|
durable: true, // Черга не зникає при перезавантаженні RabbitMQ
|
|
},
|
|
persistent: true, // Повідомлення зберігаються на диску
|
|
},
|
|
};
|
|
};
|
|
exports.getRabbitMQOptions = getRabbitMQOptions;
|
|
const getRabbitMQClientOptions = (url) => {
|
|
return {
|
|
transport: microservices_1.Transport.RMQ,
|
|
options: {
|
|
urls: [url || process.env.RABBITMQ_URL || 'amqp://localhost:5672'],
|
|
queue: 'core_queue',
|
|
exchange: 'system_events',
|
|
exchangeType: 'topic',
|
|
queueOptions: {
|
|
durable: true,
|
|
},
|
|
},
|
|
};
|
|
};
|
|
exports.getRabbitMQClientOptions = getRabbitMQClientOptions;
|