diff --git a/dist/sqs-queue-parallel.js b/dist/sqs-queue-parallel.js index 2663227..962c5a5 100644 --- a/dist/sqs-queue-parallel.js +++ b/dist/sqs-queue-parallel.js @@ -74,9 +74,15 @@ console.log("SqsQueueParallel " + self.config.name + "[" + index + "]: " + queue.Messages.length + " new messages"); } return async.eachSeries(queue.Messages, function(message, next) { + var messageBody; + try { + messageBody = JSON.parse(message.Body); + } catch (_error) { + messageBody = message.Body; + } return self.emit("message", { type: 'message', - data: JSON.parse(message.Body) || message.Body, + data: messageBody, message: message, metadata: queue.ResponseMetadata, url: self.url, diff --git a/src/sqs-queue-parallel.coffee b/src/sqs-queue-parallel.coffee index 3ebdb1b..f56cd03 100644 --- a/src/sqs-queue-parallel.coffee +++ b/src/sqs-queue-parallel.coffee @@ -43,9 +43,13 @@ module.exports = class SqsQueueParallel extends events.EventEmitter return next null unless queue.Messages?[0] console.log "SqsQueueParallel #{ self.config.name }[#{ index }]: #{ queue.Messages.length } new messages" if self.config.debug async.eachSeries queue.Messages, (message, next) -> + try + messageBody = JSON.parse(message.Body) + catch + messageBody = message.Body self.emit "message", type: 'message' - data: JSON.parse(message.Body) or message.Body + data: messageBody message: message metadata: queue.ResponseMetadata url: self.url