which process below will result in successful processing of the message and remove it from the queue while minimizing the chances of duplicate processing?

When a Simple Queue Service message triggers a task that takes 5 minutes to complete,
which process below will result in successful processing of the message and remove it from
the queue while minimizing the chances of duplicate processing?

A.
Retrieve the message with an increased visibility timeout, delete the message from the
queue, process the message

B.
Retrieve the message with increased DelaySeconds, process the message, delete the
message from the queue

C.
Retrieve the message with an increased visibility timeout, process the message, delete
the message from the queue

D.
Retrieve the message with increased DelaySeconds, delete the message from the
queue, process the message

Discussion

8 Responses to “which process below will result in successful processing of the message and remove it from the queue while minimizing the chances of duplicate processing?”

  1. Brian Smith says:

    C

  2. networkmanagers says:

    I have the same idea. C

  3. SRIGOVIND GUTALA says:

    C
    The difference between delay queues and visibility timeouts is that for delay queues, a message is hidden when it is first added to the queue, whereas for visibility timeouts, a message is hidden only after a message is retrieved from the queue

  4. Simon Liang says:

    C

    http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html

    Visibility timeout is default 30 seconds, so it need to be increased to avoid duplicate processing.

    And we have to first process the message then delete it from queues as the message processing may fail.

Leave a Reply