addArgument('task_id', InputArgument::REQUIRED, 'The task_id to test') ->setDescription('Returns a Phraseanet task state given its id') ->addOption('short', null, InputOption::VALUE_NONE, 'print short result, ie: stopped() | started(12345) | tostop(12345) | ...'); } protected function doExecute(InputInterface $input, OutputInterface $output) { $task_id = $input->getArgument('task_id'); if (null === $task = $this->container['manipulator.task']->getRepository()->find($task_id)) { throw new RuntimeException('Invalid task_id'); } $info = $this->container['task-manager.live-information']->getTask($task); $error = $info['configuration'] !== $info['actual']; $actual = $error ? "" .$info['actual']. "" : "".$info['actual'].""; $configuration = $error ? "".$info['configuration']."" : "".$info['configuration'].""; if (null === $info['process-id']) { if ($input->getOption('short')) { $output->writeln(sprintf('%s', $actual)); } else { $output->writeln(sprintf('Task is %s (configured with `%s`)', $actual, $configuration)); } } else { if ($input->getOption('short')) { $output->writeln(sprintf('%s(%s)', $actual, $info['process-id'])); } else { $output->writeln(sprintf('Task is %s (configured with `%s`) with process-id %d', $actual, $configuration, $info['process-id'])); } } return (int) $error; } }