class 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

Expanded class hierarchy of BatchMemory

File

drupal/core/lib/Drupal/Core/Queue/BatchMemory.php, line 19
Definition of Drupal\Core\Queue\BatchMemory.

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 = array();
    foreach ($this->queue as $item) {
      $result[] = $item->data;
    }
    return $result;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
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 Implements Drupal\Core\Queue\QueueInterface::createItem(). Overrides QueueInterface::createItem
Memory::createQueue public function Implements Drupal\Core\Queue\QueueInterface::createQueue(). Overrides QueueInterface::createQueue
Memory::deleteItem public function Implements Drupal\Core\Queue\QueueInterface::deleteItem(). Overrides QueueInterface::deleteItem
Memory::deleteQueue public function Implements Drupal\Core\Queue\QueueInterface::deleteQueue(). Overrides QueueInterface::deleteQueue
Memory::numberOfItems public function Implements Drupal\Core\Queue\QueueInterface::numberOfItems(). Overrides QueueInterface::numberOfItems
Memory::releaseItem public function Implements Drupal\Core\Queue\QueueInterface::releaseItem(). Overrides QueueInterface::releaseItem
Memory::__construct public function Constructs a Memory object.