RabbitMQProducer.js 869 B

12345678910111213141516171819202122232425262728293031323334
  1. const RabbitMQConnector = require('./RabbitMQConnector');
  2. class RabbitMQProducer {
  3. constructor() {
  4. this.connect();
  5. }
  6. async connect() {
  7. this.rabbitmqConnector = new RabbitMQConnector();
  8. this.rabbitmqConnector.connect();
  9. }
  10. async publishToQueue(queueName, message) {
  11. try {
  12. await this.rabbitmqConnector.channel.assertQueue(queueName, { durable: true });
  13. this.rabbitmqConnector.channel.sendToQueue(queueName, Buffer.from(message));
  14. console.log(`Published to ${queueName}: ${message}`);
  15. } catch (error) {
  16. console.error(`Error publishing to ${queueName}:`, error);
  17. }
  18. }
  19. async sendMessage(queueName, message) {
  20. try {
  21. await this.publishToQueue(queueName, message);
  22. } catch (error) {
  23. console.error('Error sending message:', error.message);
  24. }
  25. }
  26. }
  27. module.exports = RabbitMQProducer;