Is it possible to execute a batch process, but then monitor the progress of the batch and if the duration exceeds a given time, fire the batch complete function and re-execute the rest of the batch in the background?
In effect the user experience would be:
1. User clicks button which executes processing of batch, and is taken to the /batch page
2. The tasks process, but if the total execution time reaches 30 seconds before the batch is complete the user is taken to a summary page to be shown what has been processed so far
3. Whilst reviewing what has been completed so far, the remaining tasks (if any) from the batch execute in the background.
3a. If the whole batch completed in (2) then the user is still taken to the same summary page, and the list shows all the tasks which were completed.
I believe the background part can be done by setting the batch to progressive = FALSE, but I've read there are some problems doing this in D6 - is the above possible?
Any help much appreciated.