function QueueFactory::get

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Queue/QueueFactory.php \Drupal\Core\Queue\QueueFactory::get()
  2. 8.9.x core/lib/Drupal/Core/Queue/QueueFactory.php \Drupal\Core\Queue\QueueFactory::get()
  3. 10 core/lib/Drupal/Core/Queue/QueueFactory.php \Drupal\Core\Queue\QueueFactory::get()

Constructs a new queue.

Parameters

string $name: The name of the queue to work with.

bool $reliable: (optional) TRUE if the ordering of items and guaranteeing every item executes at least once is important, FALSE if scalability is the main concern. Defaults to FALSE.

Return value

\Drupal\Core\Queue\QueueInterface A queue implementation for the given name.

File

core/lib/Drupal/Core/Queue/QueueFactory.php, line 57

Class

QueueFactory
Defines the queue factory.

Namespace

Drupal\Core\Queue

Code

public function get($name, $reliable = FALSE) {
    if (!isset($this->queues[$name])) {
        // If it is a reliable queue, check the specific settings first.
        if ($reliable) {
            $service_name = $this->settings
                ->get('queue_reliable_service_' . $name);
        }
        // If no reliable queue was defined, check the service and global
        // settings, fall back to queue.database.
        if (empty($service_name)) {
            $service_name = $this->settings
                ->get('queue_service_' . $name, $this->settings
                ->get('queue_default', 'queue.database'));
        }
        $factory = $this->container
            ->get($service_name);
        $this->queues[$name] = $factory->get($name);
    }
    return $this->queues[$name];
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.