You are here

public function QueueBase::releaseItemMultiple in Purge 8.3

Release multiple items that the worker could not process.

Another worker can come in and process these before the timeout expires.

Parameters

array $items: Non-associative array with item objects as returned by claimItemMultiple() or \Drupal\Core\Queue\QueueInterface::claimItem().

Return value

array Empty array upon full success, else the remaining items that failed.

Overrides QueueInterface::releaseItemMultiple

1 method overrides QueueBase::releaseItemMultiple()
MemoryQueue::releaseItemMultiple in src/Plugin/Purge/Queue/MemoryQueue.php
Release multiple items that the worker could not process.

File

src/Plugin/Purge/Queue/QueueBase.php, line 77

Class

QueueBase
Provides a ReliableQueueInterface compliant queue that holds queue items.

Namespace

Drupal\purge\Plugin\Purge\Queue

Code

public function releaseItemMultiple(array $items) {
  $failures = [];

  // This implementation emulates multiple item releases and is NOT efficient,
  // but exists to provide API reliability. Derivatives are invited to
  // override it, for example by a multi-row update database query.
  foreach ($items as $item) {
    if ($this
      ->releaseItem($item) === FALSE) {
      $failures[] = $item;
    }
  }
  return $failures;
}