Liuggio\Fastest\Command\ParallelCommand::doExecute PHP Method

doExecute() private method

private doExecute ( Symfony\Component\Console\Input\InputInterface $input, Symfony\Component\Console\Output\OutputInterface $output, Liuggio\Fastest\Queue\QueueInterface $queue, Liuggio\Fastest\Process\ProcessesManager $processManager ) : array
$input Symfony\Component\Console\Input\InputInterface
$output Symfony\Component\Console\Output\OutputInterface
$queue Liuggio\Fastest\Queue\QueueInterface
$processManager Liuggio\Fastest\Process\ProcessesManager
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, 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;
    }