setDescription('Starts Phraseanet scheduler'); return $this; } protected function doExecute(InputInterface $input, OutputInterface $output) { $logger = new Logger('Task logger'); $streamHandler = new Handler\StreamHandler('php://stdout', $input->getOption('verbose') ? Logger::DEBUG : Logger::WARNING); $logger->pushHandler($streamHandler); $logfile = __DIR__ . '/../../../../logs/scheduler.log'; $rotateHandler = new Handler\RotatingFileHandler($logfile, 10); $logger->pushHandler($rotateHandler); try { $scheduler = new task_Scheduler($this->container, $logger); $scheduler->run(); } catch (\Exception $e) { switch ($e->getCode()) { // 114 : aka EALREADY (Operation already in progress) case task_Scheduler::ERR_ALREADY_RUNNING: $exitCode = task_Scheduler::ERR_ALREADY_RUNNING; break; default: $exitCode = 1; // default exit code (error) break; } return $exitCode; } } }