setDescription('Lists tasks'); } protected function doExecute(InputInterface $input, OutputInterface $output) { $errors = 0; $probe = $this->container['task-manager.live-information']; $rows = array_map(function (Task $task) use ($probe, &$errors) { $info = $probe->getTask($task); $error = $info['actual'] !== $task->getStatus(); if ($error) { $errors ++; } return array( $task->getId(), $task->getName(), $task->getStatus() !== 'started' ? $task->getStatus() . " (warning)" : $task->getStatus(), $error ? $info['actual'] . " (error)" : $info['actual'], $info['process-id'], ); }, $this->container['manipulator.task']->getRepository()->findAll()); $this ->getHelperSet()->get('table') ->setHeaders(array('Id', 'Name', 'Status', 'Actual', 'Process Id')) ->setRows($rows) ->render($output); return $errors; } }