Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

fix: redis redelivery_delay setting does not work #1343

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

compwright
Copy link

When using the redis transport, RedisConsumer::processResult() creates the redelivered record prior to the RedisSubscription callback executing. The subscription callback attached with Enqueue\Consumption\QueueConsumer then invokes RedisConsumer::reject().

Calling acknowledge() here deletes the redelivered record which was created earlier. Thus, we should not create a new record in reject() and we should only call acknowledge() if we do not wish to redeliver.

I have tested and confirmed that this change fixes the issue. However, if there is a better solution, please advise.

Resolves #1342

When using the redis transport, RedisConsumer::processResult() creates the redelivered record prior to the RedisSubscription callback executing. The subscription callback attached with Enqueue\Consumption\QueueConsumer then invokes RedisConsumer::reject(). Calling acknowledge() deletes the redelivered record which was created earlier. Thus, we should not create a new record in reject() and we should only call acknowledge() if we do not wish to redeliver. I have tested and confirmed that this change fixes the issue. However, if there is a better solution, please advise.

Resolves php-enqueue#1342
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Redis redelivery_delay setting does not work
1 participant