Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 9 |
| QueueFactory | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
30 | |
0.00% |
0 / 9 |
| __construct | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| get | |
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 7 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\Core\Queue\QueueFactory. | |
| */ | |
| namespace Drupal\Core\Queue; | |
| use Drupal\Core\Site\Settings; | |
| use Symfony\Component\DependencyInjection\ContainerAwareInterface; | |
| use Symfony\Component\DependencyInjection\ContainerAwareTrait; | |
| /** | |
| * Defines the queue factory. | |
| */ | |
| class QueueFactory implements ContainerAwareInterface { | |
| use ContainerAwareTrait; | |
| /** | |
| * Instantiated queues, keyed by name. | |
| * | |
| * @var array | |
| */ | |
| protected $queues = array(); | |
| /** | |
| * The settings object. | |
| * | |
| * @var \Drupal\Core\Site\Settings | |
| */ | |
| protected $settings; | |
| /** | |
| * Constructs a queue factory. | |
| */ | |
| function __construct(Settings $settings) { | |
| $this->settings = $settings; | |
| } | |
| /** | |
| * Constructs a new queue. | |
| * | |
| * @param string $name | |
| * The name of the queue to work with. | |
| * @param 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 \Drupal\Core\Queue\QueueInterface | |
| * A queue implementation for the given name. | |
| */ | |
| 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')); | |
| } | |
| $this->queues[$name] = $this->container->get($service_name)->get($name); | |
| } | |
| return $this->queues[$name]; | |
| } | |
| } | |