AWS SQS возвращает от 2 до 4 сообщений, даже если для параметра MaxNumberOfMessages установлено значение 10, а в очереди 13 сообщений. - PullRequest
1 голос
/ 14 июня 2019

У меня есть стандарт AWS SQS с 13 сообщениями.Я написал простую функцию JavaScript для извлечения 10 сообщений с использованием длинного опроса.

Вот код:

 /* aws config */ 
 Poller.prototype.poll = async function() {
    let response;
    try{
      response = await this.SQS.receiveMessage({
        QueueUrl: "https://sqs.region.amazonaws.com/user_id/queue_name",
        MaxNumberOfMessages: 10,
        VisibilityTimeout: 20,
        WaitTimeSeconds: 20
      }).promise();
      return response;
    } catch(err) {
      console.log('its an error');
      /* handel error */
    }
  }

Каждый раз, когда я запускаю этот код, он возвращает 2 сообщения, а затем 4, и это продолжается,Я пытался связываться с WaitTimeSeconds и VisibilityTimeout, но безрезультатно.

Я новичок в AWS SQS, заранее спасибо.:)

1 Ответ

2 голосов
/ 14 июня 2019

Это не необычное поведение - вы на самом деле указываете максимум 10 сообщений, по моему опыту, если только в очереди не много записей (сотни / тысячи или больше), чем ожидаемое небольшое количество.

...