cronManager = $cronManager; $this->entityManager = $entityManager; } public function run(Params $params, IO $io) : void { $options = $params->getOptions(); $argumentList = $params->getArgumentList(); $jobName = $options['job'] ?? null; $targetId = $options['targetId'] ?? null; $targetType = $options['targetType'] ?? null; if (!$jobName && count($argumentList)) { $jobName = $argumentList[0]; } if (!$jobName) { $io->writeLine("Error: No job specified."); return; } $jobName = ucfirst(Util::hyphenToCamelCase($jobName)); $entityManager = $this->entityManager; $job = $entityManager->createEntity('Job', [ 'name' => $jobName, 'job' => $jobName, 'targetType' => $targetType, 'targetId' => $targetId, ]); $result = $this->cronManager->runJob($job); if (!$result) { $io->writeLine("Error: Job '{$jobName}' failed to execute."); return; } $io->writeLine("Job '{$jobName}' has been executed."); } }