X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fdrupal%2Fconsole%2Fsrc%2FCommand%2FDebug%2FQueueCommand.php;fp=vendor%2Fdrupal%2Fconsole%2Fsrc%2FCommand%2FDebug%2FQueueCommand.php;h=023af38c3f0be9d96223bb098abf678dccd2c430;hp=0000000000000000000000000000000000000000;hb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;hpb=aea91e65e895364e460983b890e295aa5d5540a5 diff --git a/vendor/drupal/console/src/Command/Debug/QueueCommand.php b/vendor/drupal/console/src/Command/Debug/QueueCommand.php new file mode 100644 index 000000000..023af38c3 --- /dev/null +++ b/vendor/drupal/console/src/Command/Debug/QueueCommand.php @@ -0,0 +1,101 @@ +queueFactory = $queueFactory; + $this->queueWorker = $queueWorker; + parent::__construct(); + } + + /** + * {@inheritdoc} + */ + protected function configure() + { + $this + ->setName('debug:queue') + ->setDescription($this->trans('commands.debug.queue.description')) + ->setAliases(['dq']); + } + + /** + * {@inheritdoc} + */ + protected function execute(InputInterface $input, OutputInterface $output) + { + $tableHeader = [ + $this->trans('commands.debug.queue.messages.queue'), + $this->trans('commands.debug.queue.messages.items'), + $this->trans('commands.debug.queue.messages.class') + ]; + + $tableBody = $this->listQueues(); + + $this->getIo()->table($tableHeader, $tableBody); + + return 0; + } + + /** + * listQueues. + */ + private function listQueues() + { + $queues = []; + foreach ($this->queueWorker->getDefinitions() as $name => $info) { + $queues[$name] = $this->formatQueue($name); + } + + return $queues; + } + + /** + * @param $name + * @return array + */ + private function formatQueue($name) + { + $q = $this->queueFactory->get($name); + + return [ + $name, + $q->numberOfItems(), + get_class($q) + ]; + } +}