You are here

function _batch_test_batch_3 in Drupal 8

Same name and namespace in other branches
  1. 7 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()

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 86
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;
  $operations = [];
  for ($i = 1; $i <= round($total / 2); $i++) {
    $operations[] = [
      '_batch_test_callback_1',
      [
        $i,
        $sleep,
      ],
    ];
  }
  $operations[] = [
    '_batch_test_callback_2',
    [
      1,
      $total / 2,
      $sleep,
    ],
  ];
  for ($i = round($total / 2) + 1; $i <= $total; $i++) {
    $operations[] = [
      '_batch_test_callback_1',
      [
        $i,
        $sleep,
      ],
    ];
  }
  $operations[] = [
    '_batch_test_callback_2',
    [
      6,
      $total / 2,
      $sleep,
    ],
  ];
  $batch = [
    'operations' => $operations,
    'finished' => '_batch_test_finished_3',
    'file' => drupal_get_path('module', 'batch_test') . '/batch_test.callbacks.inc',
    'batch_test_id' => 'batch_3',
  ];
  return $batch;
}