/** * @param InputInterface $input * @param OutputInterface $output * @param $queue * @param $processManager * @return array */ private function doExecute(InputInterface $input, OutputInterface $output, $queue, $processManager) { $processes = null; if ($this->isVerbose($output)) { $progressBar = new VerboseRenderer($queue->count(), $this->hasErrorSummary($input), $output, $processManager->getNumberOfProcessExecutedByTheBeforeCommand()); } else { $progressBar = new ProgressBarRenderer($queue->count(), $this->hasErrorSummary($input), $output, $this->getHelper('progress'), $processManager->getNumberOfProcessExecutedByTheBeforeCommand()); } $progressBar->renderHeader($queue, $processes); while ($processManager->assertNProcessRunning($queue, $processes)) { $progressBar->renderBody($queue, $processes); } $processes->wait(); $progressBar->renderFooter($queue, $processes); return $processes; }
/** * @param InputInterface $input * @param OutputInterface $output * @param QueueInterface $queue * @param ProcessesManager $processManager * @return array */ private function doExecute(InputInterface $input, OutputInterface $output, QueueInterface $queue, ProcessesManager $processManager) { $processes = null; if ($this->isVerbose($output)) { $progressBar = new VerboseRenderer($queue->count(), $this->hasErrorSummary($input), $output, $processManager->getNumberOfProcessExecutedByTheBeforeCommand()); } else { $progressBar = new ProgressBarRenderer($queue->count(), $this->hasErrorSummary($input), $output, $this->getHelper('progress'), $processManager->getNumberOfProcessExecutedByTheBeforeCommand()); } $progressBar->renderHeader($queue); while ($processManager->assertNProcessRunning($queue, $processes)) { $progressBar->renderBody($queue, $processes); } /** * @var Processes $processes */ $processes->cleanUP(); //it is not getting called with -p1 after the last process otherwise $processes->wait(function () use($progressBar, $queue, $processes) { $progressBar->renderBody($queue, $processes); }); $progressBar->renderFooter($queue, $processes); return $processes; }