erp-plugin-sdk/dist/backend/config/rabbitmq.config.js

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;