Панель процессов для процесса 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. Что было бы лучшим способом сделать это!

0 ответов

Другие вопросы по тегам