setDescription('Returns scheduler state')
->addOption('short', null, InputOption::VALUE_NONE, 'print short result, ie: stopped() | started(12345) | tostop(12345) | stopping(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.');
}
$info = $this->container['task-manager.live-information']->getManager();
$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('Scheduler 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('Scheduler is %s (configured with `%s`) with process-id %d', $actual, $configuration, $info['process-id']));
}
}
switch ($info['actual']) {
case Task::STATUS_STARTED:
return self::EXITCODE_STARTED;
case Task::STATUS_STOPPED:
return self::EXITCODE_STOPPED;
default:
return self::EXITCODE_ERROR;
}
}
}