public function setUp() { $queue = $this->getMockBuilder('SlmQueue\\Queue\\AbstractQueue')->disableOriginalConstructor()->getMock(); $worker = new SimpleWorker(); $event = new WorkerEvent($worker, $queue); $this->job = new SimpleJob(); $event->setOptions(['foo' => 'bar']); $event->setJob($this->job); $this->listener = new ProcessQueueStrategy(); $this->event = $event; }
/** * {@inheritDoc} */ public function processQueue(QueueInterface $queue, array $options = []) { $eventManager = $this->eventManager; $workerEvent = new WorkerEvent($this, $queue); $workerEvent->setOptions($options); $eventManager->trigger(WorkerEvent::EVENT_BOOTSTRAP, $workerEvent); while (!$workerEvent->shouldExitWorkerLoop()) { $eventManager->trigger(WorkerEvent::EVENT_PROCESS_QUEUE, $workerEvent); } $eventManager->trigger(WorkerEvent::EVENT_FINISH, $workerEvent); $queueState = $eventManager->trigger(WorkerEvent::EVENT_PROCESS_STATE, $workerEvent); $queueState = array_filter(ArrayUtils::iteratorToArray($queueState)); return $queueState; }