src/EventSubscriber/MessengerWorkerRunningSubscriber.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  4. use Symfony\Component\Messenger\Event\WorkerRunningEvent;
  5. class MessengerWorkerRunningSubscriber implements EventSubscriberInterface
  6. {
  7.     /**
  8.      * @param WorkerRunningEvent $event
  9.      *
  10.      * @return void
  11.      */
  12.     public function onWorkerRunning(WorkerRunningEvent $event): void
  13.     {
  14.         if ($event->isWorkerIdle()) {
  15.             $event->getWorker()->stop();
  16.         }
  17.     }
  18.     /**
  19.      * @return array<string>
  20.      */
  21.     public static function getSubscribedEvents()
  22.     {
  23.         return [
  24.             WorkerRunningEvent::class => 'onWorkerRunning',
  25.         ];
  26.     }
  27. }