Programming Language PHP

Namespace Oro\Component\MessageQueue\Job

Class Job

Method/Function addChildJob

Total Examples 1

1 code examples of PHP Oro\Component\MessageQueue\Job\Job::addChildJob extracted from open source projects

Was this example useful?
0
                                                    /**
     * @return Job
     */
    public function findOrCreateChildJob(string $jobName, Job $rootJob): ?Job
    {
        if (!$jobName) {
            throw new \LogicException('Job name must not be empty');
        }

        $job = $this->getJobRepository()->findChildJobByName($jobName, $rootJob);

        if ($job) {
            return $job;
        }

        $job = $this->getJobRepository()->createJob();
        $job->setStatus(Job::STATUS_NEW);
        $job->setName($jobName);
        $job->setCreatedAt(new \DateTime());
        $job->setRootJob($rootJob);
        $rootJob->addChildJob($job);
        $job->setJobProgress(0);
        $this->jobManager->saveJob($job);

        return $job;
    }