Does one execution pass with JavaScript and returns progress to the browser.
_batch_progress_page_js()
function _batch_do() {
// Perform actual processing.
list($percentage, $message) = _batch_process();
return new JsonResponse(array(
'status' => TRUE,
'percentage' => $percentage,
'message' => $message,
));
}