QueueBase.php in Purge 8.3
File
src/Plugin/Purge/Queue/QueueBase.php
View source
<?php
namespace Drupal\purge\Plugin\Purge\Queue;
use Drupal\Core\Plugin\PluginBase;
use Symfony\Component\DependencyInjection\ContainerInterface;
abstract class QueueBase extends PluginBase implements QueueInterface {
use QueueBasePageTrait;
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition);
}
public function createItemMultiple(array $items) {
$ids = [];
foreach ($items as $data) {
if (($item = $this
->createItem($data)) === FALSE) {
return FALSE;
}
$ids[] = $item;
}
return $ids;
}
public function claimItemMultiple($claims = 10, $lease_time = 3600) {
$items = [];
for ($i = 1; $i <= $claims; $i++) {
if (($item = $this
->claimItem($lease_time)) === FALSE) {
break;
}
$items[] = $item;
}
return $items;
}
public function deleteItemMultiple(array $items) {
foreach ($items as $item) {
$this
->deleteItem($item);
}
}
public function releaseItemMultiple(array $items) {
$failures = [];
foreach ($items as $item) {
if ($this
->releaseItem($item) === FALSE) {
$failures[] = $item;
}
}
return $failures;
}
}
Classes
Name |
Description |
QueueBase |
Provides a ReliableQueueInterface compliant queue that holds queue items. |