<?php
namespace CodersLab\Lms\SharedKernel\Application\Listener;
use Sentry\ClientInterface;
use Symfony\Component\Messenger\Event\WorkerMessageFailedEvent;
final class WorkerMessageFailedEventListener
{
private ClientInterface $sentry;
public function __construct(ClientInterface $sentry)
{
$this->sentry = $sentry;
}
public function __invoke(WorkerMessageFailedEvent $event): void
{
$this->sentry->captureException($event->getThrowable());
}
public static function getSubscribedEvents(): array
{
return [
WorkerMessageFailedEvent::class => 'onMessageFail',
];
}
}