Newscoop\Services\SchedulerService::registerJob PHP Метод

registerJob() публичный Метод

{@inheritDoc}
public registerJob ( $jobName, array $config )
$config array
    public function registerJob($jobName, array $config)
    {
        try {
            foreach (array("command", "schedule") as $field) {
                if (empty($config[$field])) {
                    throw new \Exception("'{$field}' is required for '{$jobName}' job");
                }
            }
            $jobByCommand = $this->em->getRepository('Newscoop\\Entity\\CronJob')->findOneByCommand($config['command']);
            if (!$jobByCommand) {
                $cronJob = new CronJob();
                foreach ($config as $key => $value) {
                    $setter = "set" . ucfirst($key);
                    $cronJob->{$setter}($value);
                }
                $cronJob->setName($jobName);
                $this->em->persist($cronJob);
                $this->em->flush($cronJob);
            }
        } catch (\Exception $e) {
            throw new \Exception("Could not register job: '{$jobName}'", 0, $e);
        }
    }