Managing Recursive Operations in Drupal 11 with Batch API
Phil Norton, in the fifth instalment of his series on Drupal's Batch API, delves into the intricacies of adding operations to an already running batch process. This technique allows additional batch processes to be initiated during the execution of an existing batch, offering practical applications for recursive operations or situations where the final number of tasks is unknown at the outset.
Phil provides a detailed example of processing 1,000 items in chunks of 100 and explains how new batch runs are appended without disrupting ongoing tasks. He illustrates its use in real-world scenarios, such as parsing and importing thousands of links from a sitemap index, effectively handling large-scale operations without running into memory or timeout issues. Phil highlights that while the approach can be beneficial in certain cases, it is not suited for all batch processes. The full source code for these examples is available on GitHub for further exploration.


