Пример #1
0
 /**
  * @param JobInterface $job
  *
  * @return JobStatus
  */
 public function create(JobInterface $job)
 {
     assert($this->prototype instanceof JobStatus);
     $instance = clone $this->prototype;
     $instance->setToken($job->getToken());
     return $instance;
 }
Пример #2
0
 /**
  * @param JobInterface $job
  * @param JobStatus    $jobStatus
  */
 public function process(JobInterface $job, JobStatus $jobStatus)
 {
     $jobStatus->setRunning();
     try {
         $job->setUp();
         $job->perform();
         $job->tearDown();
     } catch (\Exception $exception) {
         $jobStatus->setFailed();
         return;
     }
     $jobStatus->setComplete();
 }
Пример #3
0
 /**
  * @param JobInterface $job
  *
  * @return string
  */
 public function serialize(JobInterface $job)
 {
     $data = ['token' => $job->getToken()->toString(), 'payload' => $job->getPayload()];
     return json_encode($data);
 }