/** * @param Job $job * @return boolean|int * * @SemLock(key="='werkint_queue.job.'~job.getId()") * @Transactional(onError="processOnError") */ public function run(Job $job) { $processor = $this->getProcessor($job->getClass()); if ($processor->isMergeable($job)) { if ($this->jobAlreadyStarted($job)) { $this->setProcessed($job); return -1; } $this->processed[] = $job; } $result = $processor->run($job); $this->setProcessed($job); return $result; }
/** * @param Job $job * @return boolean */ public function isSameAs(Job $job) { return $this->getClass() === $job->getClass() && $this->getData() === $job->getData(); }