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;
}
}