setDescription('Execute cronjob task.'); $this->setHelp('This command will execute a cronjob task.'); $this->addArgument('task_id', InputArgument::REQUIRED, 'Id of the desired cron job'); } protected function execute(InputInterface $input, OutputInterface $output): int { $task_id = $input->getArgument('task_id'); $task = \CronjobTask::find($task_id); if (!$task) { $output->writeln('Unknown task id'); return Command::FAILURE; } if (!file_exists($GLOBALS['STUDIP_BASE_PATH'] . '/' . $task->filename)) { $output->writeln(sprintf('Invalid task, unknown filename %s', $task->filename)); return Command::FAILURE; } require_once $GLOBALS['STUDIP_BASE_PATH'] . '/' . $task->filename; if (!class_exists('\\' . $task->class)) { fwrite(STDOUT, 'Invalid task, unknown class "' . $task->class . '"' . PHP_EOL); $output->writeln(sprintf('Invalid task, unknown class %s', $task->class)); return Command::FAILURE; } $task->engage(''); return Command::SUCCESS; } }