function _batch_test_batch_3

Same name and namespace in other branches
  1. 7.x modules/simpletest/tests/batch_test.module \_batch_test_batch_3()
  2. 9 core/modules/system/tests/modules/batch_test/batch_test.module \_batch_test_batch_3()
  3. 8.9.x core/modules/system/tests/modules/batch_test/batch_test.module \_batch_test_batch_3()
  4. 10 core/modules/system/tests/modules/batch_test/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

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',
    ];
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.