<?php // src/EventSubscriber/MessengerResetEncoreSubscriber.php namespace App\EventSubscriber; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\Mailer\Messenger\SendEmailMessage; use Symfony\Component\Messenger\Event\WorkerMessageReceivedEvent; use Symfony\WebpackEncoreBundle\Asset\EntrypointLookupInterface; class MessengerResetEncoreSubscriber implements EventSubscriberInterface { private $entrypointLookup; public function __construct(EntrypointLookupInterface $entrypointLookup) { $this->entrypointLookup = $entrypointLookup; } public function onMessageReceived(WorkerMessageReceivedEvent $event) { if (!$event->getEnvelope()->getMessage() instanceof SendEmailMessage) { return; } $this->entrypointLookup->reset(); } public static function getSubscribedEvents(): array { return [ WorkerMessageReceivedEvent::class => 'onMessageReceived', ]; } }