symfony流程的流程栏

时间:2017-03-27 14:22:26

标签: php symfony progress-bar symfony-process

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

0 个答案:

没有答案