vendor/enqueue/enqueue/Symfony/Client/FlushSpoolProducerListener.php line 25

Open in your IDE?
  1. <?php
  2. namespace Enqueue\Symfony\Client;
  3. use Enqueue\Client\SpoolProducer;
  4. use Symfony\Component\Console\ConsoleEvents;
  5. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  6. use Symfony\Component\HttpKernel\KernelEvents;
  7. class FlushSpoolProducerListener implements EventSubscriberInterface
  8. {
  9.     /**
  10.      * @var SpoolProducer
  11.      */
  12.     private $producer;
  13.     /**
  14.      * @param SpoolProducer $producer
  15.      */
  16.     public function __construct(SpoolProducer $producer)
  17.     {
  18.         $this->producer $producer;
  19.     }
  20.     public function flushMessages()
  21.     {
  22.         $this->producer->flush();
  23.     }
  24.     /**
  25.      * {@inheritdoc}
  26.      */
  27.     public static function getSubscribedEvents()
  28.     {
  29.         $events = [];
  30.         if (class_exists(KernelEvents::class)) {
  31.             $events[KernelEvents::TERMINATE] = 'flushMessages';
  32.         }
  33.         if (class_exists(ConsoleEvents::class)) {
  34.             $events[ConsoleEvents::TERMINATE] = 'flushMessages';
  35.         }
  36.         return $events;
  37.     }
  38. }