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