RabbitMQProducer.js 945 B

1234567891011121314151617181920212223242526272829303132333435363738
  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 disconnect() {
  11. await this.rabbitmqConnector.disconnect();
  12. }
  13. async publishToQueue(queueName, message) {
  14. try {
  15. await this.rabbitmqConnector.channel.assertQueue(queueName, { durable: true });
  16. this.rabbitmqConnector.channel.sendToQueue(queueName, Buffer.from(message));
  17. console.log(`Published to ${queueName}: ${message}`);
  18. } catch (error) {
  19. console.error(`Error publishing to ${queueName}:`, error);
  20. }
  21. }
  22. async sendMessage(queueName, message) {
  23. try {
  24. await this.publishToQueue(queueName, message);
  25. } catch (error) {
  26. console.error('Error sending message:', error.message);
  27. }
  28. }
  29. }
  30. module.exports = RabbitMQProducer;