Esempio n. 1
0
 /**
  * @return Priority
  */
 public function prev()
 {
     if (null === $this->priorityHandler) {
         return $this;
     }
     return $this->priorityHandler->getBefore($this);
 }
Esempio n. 2
0
 /**
  * @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;
 }
Esempio n. 3
0
 /**
  * @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;
 }
Esempio n. 4
0
 /**
  * @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;
 }
Esempio n. 5
0
 /**
  * @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;
 }