function batch_example_batch_2

Batch 2 : Prepare a batch definition that will load all nodes 20 times.

Related topics

File

batch_example/batch_example.module, line 159

Code

function batch_example_batch_2() {
    $num_operations = 20;
    // Give helpful information about how many nodes are being operated on.
    $node_count = db_query('SELECT COUNT(DISTINCT nid) FROM {node}')->fetchField();
    drupal_set_message(t('There are @node_count nodes so each of the @num operations will require @count HTTP requests.', array(
        '@node_count' => $node_count,
        '@num' => $num_operations,
        '@count' => ceil($node_count / 5),
    )));
    $operations = array();
    // 20 operations, each one loads all nodes.
    for ($i = 0; $i < $num_operations; $i++) {
        $operations[] = array(
            'batch_example_op_2',
            array(
                t('(Operation @operation)', array(
                    '@operation' => $i,
                )),
            ),
        );
    }
    $batch = array(
        'operations' => $operations,
        'finished' => 'batch_example_finished',
        // Message displayed while processing the batch. Available placeholders are:
        // @current, @remaining, @total, @percentage, @estimate and @elapsed.
        // These placeholders are replaced with actual values in _batch_process(),
        // using strtr() instead of t(). The values are determined based on the
        // number of operations in the 'operations' array (above), NOT by the number
        // of nodes that will be processed. In this example, there are 20
        // operations, so @total will always be 20, even though there are multiple
        // nodes per operation.
        // Defaults to t('Completed @current of @total.').
'title' => t('Processing batch 2'),
        'init_message' => t('Batch 2 is starting.'),
        'progress_message' => t('Processed @current out of @total.'),
        'error_message' => t('Batch 2 has encountered an error.'),
    );
    return $batch;
}