index.js 903 B

1234567891011121314151617181920212223242526272829
  1. const socketIO = require('socket.io');
  2. const RabbitMQListener = require('./utils/RabbitMQListener');
  3. const EventEmitter = require('events');
  4. const { createLogger } = require('./utils/logger');
  5. const log = createLogger('socket');
  6. const socketEmitter = new EventEmitter();
  7. const rabbitMQListener = new RabbitMQListener();
  8. rabbitMQListener.listenToQueue('formattedMessages', (messages) => {
  9. log.info({ action: 'message_received', queue: 'formattedMessages', outcome: 'success' });
  10. socketEmitter.emit('formattedMessages', messages);
  11. });
  12. const io = socketIO(8084);
  13. io.on('connection', (socket) => {
  14. log.info({ action: 'client_connect', socketId: socket.id });
  15. socket.on('disconnect', () => {
  16. log.info({ action: 'client_disconnect', socketId: socket.id });
  17. });
  18. socketEmitter.on('formattedMessages', (messages) => {
  19. if (socket.connected) {
  20. socket.send(messages);
  21. }
  22. });
  23. });