Панель процессов для процесса Symfony
У меня давно выполняемая задача, которую я включил в процесс в свой проект Symfony. Вот как я называю процесс
$rootDir = $this->get('kernel')->getRootDir();
$adk_process = new Process(
'php ../bin/console app:adkaction ' . $numcampaigns . ', ' . $timezone . ',' . $depdate);
$adk_process->setWorkingDirectory($rootDir);
$adk_process->setOptions(['suppress_errors' => false]);
$adk_process->setTimeout(null);
$adk_process->start();
while ($adk_process->isRunning()) {
$currprogress = $adk_process->getIncrementalOutput();
return $this->render('BackEnd/user.html.twig',[
'form'=>$form->createView(),
'currprogress' => $currprogress
]);
}
Мой процесс в настоящее время не имеет никакого вывода (это парсинг XML-файла и отправка данных в БД). Когда все готово, переменная currprogress должна быть вставлена в мой шаблон.twig, когда он заполнит индикатор выполнения.
Мне нужно показать прогресс разбора файла (т.е. сколько элементов было обработано, так как оно может занимать до 100 тыс. Строк и процесс может выполняться в течение 2-3 часов).
В настоящее время я не могу получить инкрементальный вывод из моего процесса, чтобы передать его в мою temaplte. Что было бы лучшим способом сделать это!