class BatchQueue

Defines a batch queue.

Stale items from failed batches are cleaned from the {queue} table on cron using the 'created' date.

Hierarchy

Expanded class hierarchy of BatchQueue

1 string reference to 'BatchQueue'
_batch_populate_queue in drupal/includes/form.inc
Populates a job queue with the operations of a batch set.

File

drupal/includes/batch.queue.inc, line 19
Queue handlers used by the Batch API.

View source
class BatchQueue extends SystemQueue {

  /**
   * Overrides SystemQueue::claimItem().
   *
   * Unlike SystemQueue::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) {
    $item = db_query_range('SELECT data, item_id FROM {queue} q WHERE name = :name ORDER BY item_id ASC', 0, 1, array(
      ':name' => $this->name,
    ))
      ->fetchObject();
    if ($item) {
      $item->data = unserialize($item->data);
      return $item;
    }
    return FALSE;
  }

  /**
   * Retrieves all remaining items in the queue.
   *
   * This is specific to Batch API and is not part of the DrupalQueueInterface.
   */
  public function getAllItems() {
    $result = array();
    $items = db_query('SELECT data FROM {queue} q WHERE name = :name ORDER BY item_id ASC', array(
      ':name' => $this->name,
    ))
      ->fetchAll();
    foreach ($items as $item) {
      $result[] = unserialize($item->data);
    }
    return $result;
  }

}

Members

Name Modifiers Type Description Overridessort ascending
BatchQueue::claimItem public function Overrides SystemQueue::claimItem(). Overrides SystemQueue::claimItem
BatchQueue::getAllItems public function Retrieves all remaining items in the queue.
SystemQueue::__construct public function
SystemQueue::createItem public function Add a queue item and store it directly to the queue. Overrides DrupalQueueInterface::createItem
SystemQueue::numberOfItems public function Retrieve the number of items in the queue. Overrides DrupalQueueInterface::numberOfItems
SystemQueue::releaseItem public function Release an item that the worker could not process, so another worker can come in and process it before the timeout expires. Overrides DrupalQueueInterface::releaseItem
SystemQueue::deleteItem public function Delete a finished item from the queue. Overrides DrupalQueueInterface::deleteItem
SystemQueue::createQueue public function Create a queue. Overrides DrupalQueueInterface::createQueue
SystemQueue::deleteQueue public function Delete a queue and every item in the queue. Overrides DrupalQueueInterface::deleteQueue
SystemQueue::$name protected property The name of the queue this instance is working with.