This example demonstrates how a module can use the Batch API.
Batches allow heavy processing to be spread out over several page requests, ensuring that the processing does not get interrupted because of a PHP timeout, while allowing the user to receive feedback on the progress of the ongoing operations. It also can prevent out of memory situations.
The .install file also shows how the Batch API can be used to handle long-running hook_update_N() functions.
Two harmless batches are defined:
- batch 1: Load the node with the lowest nid 100 times.
- batch 2: Load all nodes, 20 times and uses a progressive op, loading nodes by groups of 5.
See also
Parent topics
File
- modules/
examples/ batch_example/ batch_example.module, line 7 - Hook implementations for the Batch Example module.
Functions
Name![]() |
Location | Description |
---|---|---|
_batch_example_update_http_requests |
modules/ |
Utility function to increment HTTP requests in a session variable. |
_batch_example_get_http_requests |
modules/ |
Utility function to count the HTTP requests in a session variable. |
batch_example_update_1100 |
modules/ |
Example of batch-driven update function. |
batch_example_simple_form_submit |
modules/ |
Submit handler. |
batch_example_simple_form |
modules/ |
Form builder function to allow choice of which batch to run. |
batch_example_op_2 |
modules/ |
Batch operation for batch 2 : load all nodes, 5 by five. |
batch_example_op_1 |
modules/ |
Batch operation for batch 1: load a node. |
batch_example_menu |
modules/ |
Implements hook_menu(). |
batch_example_lowest_nid |
modules/ |
Utility function - simply queries and loads the lowest nid. |
batch_example_finished |
modules/ |
Batch 'finished' callback used by both batch 1 and batch 2. |
batch_example_batch_2 |
modules/ |
Batch 2 : Prepare a batch definition that will load all nodes 20 times. |
batch_example_batch_1 |
modules/ |
Batch 1 definition: Load the node with the lowest nid 1000 times. |
Classes
Name![]() |
Location | Description |
---|---|---|
BatchExampleTestCase |
modules/ |
Functional tests for the Batch Example module. |