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