function _batch_test_batch_3 in Drupal 9
Same name and namespace in other branches
- 8 core/modules/system/tests/modules/batch_test/batch_test.module \_batch_test_batch_3()
 - 7 modules/simpletest/tests/batch_test.module \_batch_test_batch_3()
 
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.
 
1 call to _batch_test_batch_3()
- BatchTestChainedForm::batchTestChainedFormSubmit4 in core/
modules/ system/ tests/ modules/ batch_test/ src/ Form/ BatchTestChainedForm.php  - Form submission handler #4 for batch_test_chained_form.
 
File
- core/
modules/ system/ tests/ modules/ batch_test/ batch_test.module, line 78  - Helper module for the Batch API tests.
 
Code
function _batch_test_batch_3() {
  // 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_3');
  for ($i = 1; $i <= round($total / 2); $i++) {
    $batch_builder
      ->addOperation('_batch_test_callback_1', [
      $i,
      $sleep,
    ]);
  }
  $batch_builder
    ->addOperation('_batch_test_callback_2', [
    1,
    $total / 2,
    $sleep,
  ]);
  for ($i = round($total / 2) + 1; $i <= $total; $i++) {
    $batch_builder
      ->addOperation('_batch_test_callback_1', [
      $i,
      $sleep,
    ]);
  }
  $batch_builder
    ->addOperation('_batch_test_callback_2', [
    6,
    $total / 2,
    $sleep,
  ]);
  return $batch_builder
    ->toArray() + [
    'batch_test_id' => 'batch_3',
  ];
}