我有一个长期运行的任务,我已将其作为一个进程合并到我的 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。最好的方法是什么!