|
const fs = require('fs'); |
|
// 'a' flag stands for 'append' |
|
const datetime = new Date().toISOString(); |
|
const file_name = `${datetime.slice(0,10)}_${datetime.slice(11,19)}`; |
|
console.log(file_name); |
|
const log = fs.createWriteStream(`${file_name}.txt`, { flags: 'a' }); |
|
|
|
const AWS = require('aws-sdk'); |
|
if (!AWS.config.region) { |
|
AWS.config.update({ |
|
region: 'eu-west-1' |
|
}); |
|
} |
|
|
|
const { Consumer } = require('sqs-consumer'); |
|
// console.log(process.env); |
|
var sqs = new AWS.SQS({ |
|
endpoint: 'https://sqs.eu-west-1.amazonaws.com', |
|
maxRetries: 10 |
|
}); |
|
|
|
|
|
function convertToNDJSON(data) { |
|
log.write(`${JSON.stringify(data)}\n`); |
|
} |
|
|
|
const url = process.env.DEAD_LETTER_QUEUE_URL ? process.env.DEAD_LETTER_QUEUE_URL : 'https://sqs.eu-west-1.amazonaws.com/123456789/dead_letter_dev_process_formbuilder_data_testing'; |
|
const msgUrl = process.env.QUEUE_URL ? process.env.QUEUE_URL : 'https://sqs.eu-west-1.amazonaws.com/123456789/dead_letter_dev_process_formbuilder_data'; |
|
const app = Consumer.create({ |
|
queueUrl: url, |
|
handleMessage: async (message) => { |
|
convertToNDJSON(message.Body); |
|
var dataToSend = { |
|
QueueUrl: msgUrl, |
|
MessageBody: message.Body |
|
} |
|
sqs.sendMessage(dataToSend, function (wErr, resp) { |
|
if (wErr) { |
|
console.log("Error while sending message: ", wErr) |
|
} else if(resp) { |
|
console.log(">>>> Message sent successfully: ", resp); |
|
} else { |
|
console.log("Responded with incorrect value: ",resp) |
|
} |
|
}); |
|
} |
|
}); |
|
|
|
app.on('error', (err) => { |
|
console.error(err.message); |
|
}); |
|
|
|
app.on('processing_error', (err) => { |
|
console.error(err.message); |
|
}); |
|
|
|
app.on('timeout_error', (err) => { |
|
console.error(err.message); |
|
serialize.end(); |
|
}); |
|
|
|
app.start(); |