/** * @return Priority */ public function prev() { if (null === $this->priorityHandler) { return $this; } return $this->priorityHandler->getBefore($this); }
/** * @inheritdoc * * @throws QueueAccessException */ public function listQueues($prefix = '') { $listQueues = []; try { if (empty($prefix)) { $results = $this->sqsClient->listQueues(); } else { $results = $this->sqsClient->listQueues(['QueueNamePrefix' => $prefix]); } } catch (SqsException $e) { throw new QueueAccessException('Cannot list queues', 0, $e); } $results = $results->get('QueueUrls'); foreach ($results as $result) { $result = explode('/', $result); $result = array_pop($result); $priorities = $this->priorityHandler->getAll(); foreach ($priorities as $priority) { if (!empty($priority)) { $result = str_replace(static::PRIORITY_SEPARATOR . $priority->getName(), '', $result); } } $listQueues[] = $result; } $listQueues = array_unique($listQueues); return $listQueues; }
/** * @inheritdoc */ public function purgeQueue($queueName, $priority = null) { if (null === $priority) { $priorities = $this->priorityHandler->getAll(); foreach ($priorities as $priority) { $this->purgeQueue($queueName, $priority); } return $this; } if (empty($queueName)) { throw new InvalidArgumentException('Parameter queueName empty or not defined.'); } if (!isset($this->queues[$queueName])) { throw new InvalidArgumentException('Queue ' . $queueName . " doesn't exist, please create it before use it."); } if (!isset($this->queues[$queueName][$priority])) { throw new \Exception('Unknown priority: ' . $priority); } $this->queues[$queueName][$priority] = new SplQueue(); return $this; }
/** * @inheritdoc * * @throws SqsException */ public function listQueues($prefix = '') { $listQueues = []; if (empty($prefix)) { $results = $this->sqsClient->listQueues(); } else { $results = $this->sqsClient->listQueues(['QueueNamePrefix' => $prefix]); } $results = $results->get('QueueUrls'); foreach ($results as $result) { $result = explode('/', $result); $result = array_pop($result); $priorities = $this->priorityHandler->getAll(); foreach ($priorities as $priority) { if (!empty($priority)) { $result = str_replace(static::PRIORITY_SEPARATOR . $priority, '', $result); } } $listQueues[] = $result; } $listQueues = array_unique($listQueues); return $listQueues; }
/** * @inheritdoc */ public function listQueues($prefix = '') { $result = []; /* @var SplFileInfo $file */ foreach ($this->finder as $file) { if (!empty($prefix) && !$this->startsWith($file->getRelativePathname(), $prefix)) { continue; } if ($file->getExtension() === static::QUEUE_FILE_EXTENSION) { $explode = explode('.', $file->getRelativePathname()); array_pop($explode); $implode = implode('.', $explode); $priorities = $this->priorityHandler->getAll(); foreach ($priorities as $priority) { if (!empty($priority)) { $implode = str_replace(static::PRIORITY_SEPARATOR . $priority, '', $implode); } } $result[] = $implode; } } $result = array_unique($result); return $result; }