Newer
Older
* The batch array.
* @param $set_id
* The id of the set to process.
*/
function _batch_populate_queue(&$batch, $set_id) {
$batch_set = &$batch['sets'][$set_id];
if (isset($batch_set['operations'])) {
$batch_set += [
'queue' => [
'name' => 'drupal_batch:' . $batch['id'] . ':' . $set_id,
'class' => $batch['progressive'] ? 'Drupal\Core\Queue\Batch' : 'Drupal\Core\Queue\BatchMemory',
],
];
$queue = _batch_queue($batch_set);
$queue->createQueue();
foreach ($batch_set['operations'] as $operation) {
$queue->createItem($operation);
}
unset($batch_set['operations']);
}
}
/**
* Returns a queue object for a batch set.
*
* @param $batch_set
* The batch set.

Dries Buytaert
committed
*
* @return \Drupal\Core\Queue\QueueInterface|null
* The queue object.
*/
function _batch_queue($batch_set) {
static $queues;
if (!isset($queues)) {
$queues = [];
}
if (isset($batch_set['queue'])) {
$name = $batch_set['queue']['name'];
$class = $batch_set['queue']['class'];
if (!isset($queues[$class][$name])) {

Alex Pott
committed
$queues[$class][$name] = new $class($name, \Drupal::database());
}
return $queues[$class][$name];
}
}
/**
* @} End of "defgroup batch".
*/