Skip to content

Commit 257fdb5

Browse files
committedJan 11, 2019
SQS requeue: terminate visibility timeout instead of recreate message
1 parent 892f579 commit 257fdb5

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed
 

‎pkg/sqs/SqsConsumer.php

+12-7
Original file line numberDiff line numberDiff line change
@@ -133,14 +133,19 @@ public function reject(Message $message, bool $requeue = false): void
133133
{
134134
InvalidMessageException::assertMessageInstanceOf($message, SqsMessage::class);
135135

136-
$this->context->getSqsClient()->deleteMessage([
137-
'@region' => $this->queue->getRegion(),
138-
'QueueUrl' => $this->context->getQueueUrl($this->queue),
139-
'ReceiptHandle' => $message->getReceiptHandle(),
140-
]);
141-
142136
if ($requeue) {
143-
$this->context->createProducer()->send($this->queue, $message);
137+
$this->context->getAwsSqsClient()->changeMessageVisibility([
138+
'@region' => $this->queue->getRegion(),
139+
'QueueUrl' => $this->context->getQueueUrl($this->queue),
140+
'ReceiptHandle' => $message->getReceiptHandle(),
141+
'VisibilityTimeout' => 0,
Has comments. Original line has comments.
142+
]);
143+
} else {
144+
$this->context->getSqsClient()->deleteMessage([
145+
'@region' => $this->queue->getRegion(),
146+
'QueueUrl' => $this->context->getQueueUrl($this->queue),
147+
'ReceiptHandle' => $message->getReceiptHandle(),
148+
]);
144149
}
145150
}
146151

0 commit comments

Comments
 (0)
Please sign in to comment.