Chris@0: connection->queryRange('SELECT data, item_id FROM {queue} q WHERE name = :name ORDER BY item_id ASC', 0, 1, [':name' => $this->name])->fetchObject(); Chris@0: if ($item) { Chris@0: $item->data = unserialize($item->data); Chris@0: return $item; Chris@0: } Chris@0: } Chris@0: catch (\Exception $e) { Chris@0: $this->catchException($e); Chris@0: } Chris@0: return FALSE; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Retrieves all remaining items in the queue. Chris@0: * Chris@0: * This is specific to Batch API and is not part of the Chris@0: * \Drupal\Core\Queue\QueueInterface. Chris@0: * Chris@0: * @return array Chris@0: * An array of queue items. Chris@0: */ Chris@0: public function getAllItems() { Chris@0: $result = []; Chris@0: try { Chris@0: $items = $this->connection->query('SELECT data FROM {queue} q WHERE name = :name ORDER BY item_id ASC', [':name' => $this->name])->fetchAll(); Chris@0: foreach ($items as $item) { Chris@0: $result[] = unserialize($item->data); Chris@0: } Chris@0: } Chris@0: catch (\Exception $e) { Chris@0: $this->catchException($e); Chris@0: } Chris@0: return $result; Chris@0: } Chris@0: Chris@0: }