function _batch_test_batch_4 in Drupal 10
Same name and namespace in other branches
- 8 core/modules/system/tests/modules/batch_test/batch_test.module \_batch_test_batch_4()
- 7 modules/simpletest/tests/batch_test.module \_batch_test_batch_4()
- 9 core/modules/system/tests/modules/batch_test/batch_test.module \_batch_test_batch_4()
Batch 4: Performs a batch within a batch.
Operations:
- op 1 from 1 to 5,
- set batch 2 (op 2 from 1 to 10, should run at the end)
- op 1 from 6 to 10,
File
- core/
modules/ system/ tests/ modules/ batch_test/ batch_test.module, line 106 - Helper module for the Batch API tests.
Code
function _batch_test_batch_4() {
// Ensure the batch takes at least two iterations.
$total = 10;
$sleep = 1000000 / $total * 2;
$batch_builder = (new BatchBuilder())
->setFile(\Drupal::service('extension.list.module')
->getPath('batch_test') . '/batch_test.callbacks.inc')
->setFinishCallback('_batch_test_finished_4');
for ($i = 1; $i <= round($total / 2); $i++) {
$batch_builder
->addOperation('_batch_test_callback_1', [
$i,
$sleep,
]);
}
$batch_builder
->addOperation('_batch_test_nested_batch_callback', [
[
2,
],
]);
for ($i = round($total / 2) + 1; $i <= $total; $i++) {
$batch_builder
->addOperation('_batch_test_callback_1', [
$i,
$sleep,
]);
}
return $batch_builder
->toArray() + [
'batch_test_id' => 'batch_4',
];
}