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, new ProgressBar($output), $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;
}