Я столкнулся с проблемой.Я пытаюсь использовать одну очередь SQS с двумя длинными экземплярами polling nodeJS.Проблема, с которой я сталкиваюсь, заключается в том, что когда я помещаю новое сообщение в очередь, ОБА экземпляры сразу же извлекают те же сообщения.Есть ли способ предотвратить такое поведение?Моя цель - в конечном итоге создать ферму обработки NodeJS, в которой каждый экземпляр будет извлекать уникальное сообщение из очереди и выполнять обработку.
Ниже приведен мой код для прослушивателя SQS:
console.log("Checking SQS Queue");
return new Promise((resolve,reject) => {
let sqs = new aws.SQS();
let params = {
AttributeNames: [
"SentTimeStamp"
],
MaxNumberOfMessages: 1,
MessageAttributeNames: [
"All"
],
QueueUrl: SQS_URL,
WaitTimeSeconds: 20,
VisibilityTimeout: 0
};
sqs.receiveMessage(params, (err, data) => {
if(err){
console.log("Error: ",err);
reject(err);
} else if (data.Messages) {
resolve(data);
}
resolve(data);
});
});