addArgument('task_id', InputArgument::REQUIRED, 'The task_id to test') ->setDescription('Returns the state of a task') ->addOption('short', null, InputOption::VALUE_NONE, 'print short result, ie: stopped() | started(12345) | tostop(12345) | ...'); } protected function doExecute(InputInterface $input, OutputInterface $output) { if (false === $this->container['phraseanet.configuration']['main']['task-manager']['enabled']) { throw new RuntimeException('The use of the task manager is disabled on this instance.'); } $task_id = $input->getArgument('task_id'); if (null === $task = $this->container['repo.tasks']->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; } }