2

我有一个长期运行的任务,我已将其作为一个进程合并到我的 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 文件并将数据推送到 db)。完成 currprogress 变量后,应该将其推送到我的 .twig 模板中,然后它将填充进度条。

我需要显示文件解析的进度(即处理了多少项目,因为它可以达到 100k 行,并且该过程可以运行 2-3 小时)。

目前,我无法从我的流程中获取增量输出以将其推送到我的 temaplte。最好的方法是什么!

4

0 回答 0