fix: do not reset attemps header when message is requeue #1301
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change will allow to use
$message->getAttempts()whentrue === $message->isRedelivered()to find how many times this message has been requeue/redelivered. Such information is useful to decide if the message should berequeueto retry again later orrejectedto be completely removed from the queue in case of error.Something similar was asked on #940 but the suggestion on #940 (comment) is about adding another header with a similar purpose than
attempts.On
\Enqueue\Redis\RedisConsumerHelperTrait::processResult()we already incrementattemptsheader, so if we don't reset it when the message is requeue we will have the accurate information about how many times the message has been consumed.