<?php
namespace App\Listener;
use App\Message\EmailNotification;
use Symfony\Component\Messenger\Event\WorkerMessageFailedEvent;
use Symfony\Component\Messenger\MessageBusInterface;
class WorkerMessageFailedListener
{
public function __construct(private MessageBusInterface $bus)
{
}
public function __invoke(WorkerMessageFailedEvent $event): void
{
if(!$event->willRetry()){
$this->bus->dispatch(new EmailNotification(
['subject' => 'Worker Message Failed', 'content' => $event->getThrowable()->getMessage()]
));
}
}
}