| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- const RabbitMQListener = require('./utils/RabbitMQListener');
- const rabbitMQListener = new RabbitMQListener();
- const RabbitMQProducer = require('./utils/RabbitMQProducer');
- let rabbitMQProducer = new RabbitMQProducer();
- async function formatForTwitter(message) {
- return "message formatted for twitter: " + message;
- }
- async function formatForLinkedin(message) {
- return "message formatted for linkedin: " + message;
- }
- async function formatMessage(message) {
- if (message === null || message === undefined) {
- return;
- }
- let messages = {
- twitter : '',
- linkedin: ''
- };
- try {
- // Use Promise.all to concurrently format the message for Twitter and LinkedIn
- [messages.twitter, messages.linkedin] = await Promise.all([
- formatForTwitter(message).catch(error => {
- console.error('Error formatting for Twitter:', error);
- return null;
- }),
- formatForLinkedin(message).catch(error => {
- console.error('Error formatting for LinkedIn:', error);
- return null;
- })
- ]);
-
- } catch (error) {
- // Handle any errors that occur during the formatting process
- console.error('Error formatting message:', error);
- }
- try {
- rabbitMQProducer.sendMessage('formattedMessages', JSON.stringify(messages));
- } catch (error) {
- console.error('Error sending message:', error);
- }
- }
- (async () => {
- rabbitMQListener.listenToQueue('fixedGrammar', (message) => {
- console.log('Received message from fixedGrammar ', message);
- formatMessage(message);
- });
- rabbitMQListener.listenToQueue('formatter', (message) => {
- console.log('Received message formatter:', message);
- console.log('Sending for fixing grammar:', message);
- rabbitMQProducer.sendMessage('fixGrammar', JSON.stringify({message: message}));
- });
- })();
|