Delay queues let you postpone the delivery of new messages to a queue for a number of seconds
AWS documentation
This means that all the messages which are pushed to this queue would be visible to the consumer after the delay period. The minimum delay which is also the default delay is 0 and the maximum is 15 minutes.
Note that when changing the delay of a queue the behaviour of FIFO queues and standard queues is different –
For standard queues, the per-queue delay setting is not retroactive—changing the setting doesn’t affect the delay of messages already in the queue.For FIFO queues, the per-queue delay setting is retroactive—changing the setting affects the delay of messages already in the queue.
AWS documentation
If you need to delay the visibility of specific messages and not all messages in the queue you can use message timers and add an initial invisibility period for a message. This is only supported by standard queues.Note that setting a message timer for individual messages overrides the delay period of the delay queue.
See the image below to understand message timeline in a queue –
See more here –
https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-delay-queues.html
https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-timers.html
One thought on “Things I learned today (20/07/2021)”