class BatchMemory

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Queue/BatchMemory.php \Drupal\Core\Queue\BatchMemory
  2. 8.9.x core/lib/Drupal/Core/Queue/BatchMemory.php \Drupal\Core\Queue\BatchMemory
  3. 11.x core/lib/Drupal/Core/Queue/BatchMemory.php \Drupal\Core\Queue\BatchMemory

Defines a batch queue handler.

Used by the Batch API for non-progressive batches.

This implementation:

  • Ensures FIFO ordering.
  • Allows an item to be repeatedly claimed until it is actually deleted (no notion of lease time or 'expire' date), to allow multipass operations.

Hierarchy

  • class \Drupal\Core\Queue\BatchMemory extends \Drupal\Core\Queue\Memory

Expanded class hierarchy of BatchMemory

Related topics

File

core/lib/Drupal/Core/Queue/BatchMemory.php, line 17

Namespace

Drupal\Core\Queue
View source
class BatchMemory extends Memory {
    
    /**
     * Overrides \Drupal\Core\Queue\Memory::claimItem().
     *
     * Unlike \Drupal\Core\Queue\Memory::claimItem(), this method provides a
     * default lease time of 0 (no expiration) instead of 30. This allows the item
     * to be claimed repeatedly until it is deleted.
     */
    public function claimItem($lease_time = 0) {
        if (!empty($this->queue)) {
            reset($this->queue);
            return current($this->queue);
        }
        return FALSE;
    }
    
    /**
     * Retrieves all remaining items in the queue.
     *
     * This is specific to Batch API and is not part of the
     * \Drupal\Core\Queue\QueueInterface.
     *
     * @return array
     *   An array of queue items.
     */
    public function getAllItems() {
        $result = [];
        foreach ($this->queue as $item) {
            $result[] = $item->data;
        }
        return $result;
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title
BatchMemory::claimItem public function Overrides \Drupal\Core\Queue\Memory::claimItem(). Overrides Memory::claimItem
BatchMemory::getAllItems public function Retrieves all remaining items in the queue.
Memory::$idSequence protected property Counter for item ids.
Memory::$queue protected property The queue data.
Memory::createItem public function Overrides QueueInterface::createItem
Memory::createQueue public function Overrides QueueInterface::createQueue
Memory::deleteItem public function Overrides QueueInterface::deleteItem
Memory::deleteQueue public function Overrides QueueInterface::deleteQueue
Memory::numberOfItems public function Overrides QueueInterface::numberOfItems
Memory::releaseItem public function Overrides QueueInterface::releaseItem
Memory::__construct public function Constructs a Memory object.

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