function BatchTestDefinitions::batch3
Batch 3: Performs both single and multistep operations.
Operations:
- op 1 from 1 to 5,
- op 2 from 1 to 5,
- op 1 from 6 to 10,
- op 2 from 6 to 10.
File
-
core/
modules/ system/ tests/ modules/ batch_test/ src/ BatchTestDefinitions.php, line 69
Class
Namespace
Drupal\batch_testCode
public function batch3() : array {
$batch_test_callbacks = new BatchTestCallbacks();
// Ensure the batch takes at least two iterations.
$total = 10;
$sleep = 1000000 / $total * 2;
$batch_builder = (new BatchBuilder())->setFinishCallback([
$batch_test_callbacks,
'finished3',
]);
for ($i = 1; $i <= round($total / 2); $i++) {
$batch_builder->addOperation([
$batch_test_callbacks,
'callback1',
], [
$i,
$sleep,
]);
}
$batch_builder->addOperation([
$batch_test_callbacks,
'callback2',
], [
1,
$total / 2,
$sleep,
]);
for ($i = round($total / 2) + 1; $i <= $total; $i++) {
$batch_builder->addOperation([
$batch_test_callbacks,
'callback1',
], [
$i,
$sleep,
]);
}
$batch_builder->addOperation([
$batch_test_callbacks,
'callback2',
], [
6,
$total / 2,
$sleep,
]);
return $batch_builder->toArray() + [
'batch_test_id' => 'batch3',
];
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.