Fix: Message must be finished only on UnrecoverableExceptionInterface

This commit is contained in:
2021-07-08 18:28:54 +03:00
parent ed2fdebce5
commit 4fac0e066f

View File

@ -6,6 +6,7 @@ namespace Nsq\NsqBundle\EventListener;
use Nsq\NsqBundle\Messenger\NsqReceivedStamp; use Nsq\NsqBundle\Messenger\NsqReceivedStamp;
use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Messenger\Event\WorkerMessageFailedEvent; use Symfony\Component\Messenger\Event\WorkerMessageFailedEvent;
use Symfony\Component\Messenger\Exception\UnrecoverableExceptionInterface;
use function Amp\Promise\wait; use function Amp\Promise\wait;
final class AckUnrecoverableMessageListener implements EventSubscriberInterface final class AckUnrecoverableMessageListener implements EventSubscriberInterface
@ -22,7 +23,7 @@ final class AckUnrecoverableMessageListener implements EventSubscriberInterface
public function onMessageFailed(WorkerMessageFailedEvent $event): void public function onMessageFailed(WorkerMessageFailedEvent $event): void
{ {
if ($event->willRetry()) { if (!$event->getThrowable() instanceof UnrecoverableExceptionInterface) {
return; return;
} }