public function testEntityProperties() { $storage = new Storage(); $dte_added = new DateTime(); $job_data = new \stdClass(); $job_id = '67b9a976-2edd-3e6e-adc3-22adeb5b3949'; $lockout_handle = md5($job_id); $lockout_timer = new DateTime(); $retry = 3; $state = 1; $retry_last = new DateTime(); $storage->setDateAdded($dte_added); $storage->setJobData($job_data); $storage->setJobId($job_id); $storage->setLockoutHandle($lockout_handle); $storage->setLockoutTimer($lockout_timer); $storage->setRetryLeft($retry); $storage->setRetryLast($retry_last); $storage->setState($state); $this->assertEquals($dte_added, $storage->getDateAdded()); $this->assertEquals($job_data, $storage->getJobData()); $this->assertEquals($job_id, $storage->getJobId()); $this->assertEquals($lockout_handle, $storage->getLockoutHandle()); $this->assertEquals($lockout_timer, $storage->getLockoutTimer()); $this->assertEquals($retry, $storage->getRetryLeft()); $this->assertEquals($retry_last, $storage->getRetryLast()); $this->assertEquals($state, $storage->getState()); }
/** * Transition a job to Finished state * * @access public * @param string $handle The worker's handle * @param DateTime $start * @param string $msg * @throws LaterJob\Exception when starting state fails */ public function finish($handle, DateTime $finish, $msg = '') { $current = $this->storage->getState(); if ($current !== QueueConfig::STATE_START) { throw new LaterJobException(sprintf('Can not transiton from %s to %s', $this->getCurrentState(), $this->config->getLiteral(QueueConfig::STATE_FINISH))); } # change the state on the storage $this->storage->setState(QueueConfig::STATE_FINISH); # create the transition entity $trans = new Transition(); $trans->setJob($this->getId()); $trans->setState(QueueConfig::STATE_FINISH); $trans->setOccured($finish); $trans->setMessage(' Job ' . $this->getId() . ' FINISHED :: ' . $msg); $trans->setProcessHandle($handle); # raise the finish event $this->event->dispatch(JobEventsMap::STATE_FINISH, new JobTransitionEvent($this, $trans)); }
public function toArray(Storage $entity) { return array('jobId' => $entity->getJobId(), 'retryCount' => $entity->getRetryLeft(), 'dateAdded' => $entity->getDateAdded(), 'stateId' => $entity->getState(), 'jobData' => $entity->getJobData(), 'lockTimeout' => $entity->getLockoutTimer(), 'handle' => $entity->getLockoutHandle(), 'retryLast' => $entity->getRetryLast()); }