| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- const RabbitMQConnector = require('./RabbitMQConnector');
- class RabbitMQProducer {
-
- constructor() {
- this.connect();
- }
- async connect() {
- this.rabbitmqConnector = new RabbitMQConnector();
- await this.rabbitmqConnector.connect();
- }
- async disconnect() {
- await this.rabbitmqConnector.disconnect();
- }
- async publishToQueue(queueName, message) {
- if(this.rabbitmqConnector.channel === null) {
- await this.connect();
- }
- try {
- await this.rabbitmqConnector.channel.assertQueue(queueName, { durable: true });
- this.rabbitmqConnector.channel.sendToQueue(queueName, Buffer.from(message));
- console.log(`Published to ${queueName}: ${message}`);
- } catch (error) {
- console.error(`Error publishing to ${queueName}:`, error);
- }
- }
-
- async sendMessage(queueName, message) {
- try {
- await this.publishToQueue(queueName, message);
- } catch (error) {
- console.error('Error sending message:', error.message);
- }
- }
- }
- module.exports = RabbitMQProducer;
|