SQS short and long polling

  • By default, queues use short polling.

  • Short polling:

    • ReceiveMessage request queries only a subset of the servers (based on a weighted random distribution) to find messages that are available to include in the response.

    • Sends the response right away, even if the query found no messages.

  • Long polling:

    • ReceiveMessage request queries all of the servers for messages

    • Sends a response after it collects at least one available message, up to the maximum number of messages specified in the request.

    • When the wait time for the ReceiveMessage API action is greater than 0.

    • Helps reduce the cost of using SQS by eliminating the number of empty responses and false empty responses.

Last updated

Was this helpful?