Exemple #1
0
 public function testHasSchedule()
 {
     $job = new Job();
     $this->assertFalse($job->hasSchedules());
     $job->addSchedule(new Schedule());
     $this->assertTrue($job->hasSchedules());
 }
 /**
  * @return JobInterface
  */
 public function build()
 {
     $job = new Job();
     $job->setType($this->type);
     $job->setParameters($this->parameters);
     foreach ($this->schedules as $schedule) {
         $job->addSchedule(new Schedule($schedule[0], $schedule[1]));
     }
     return $job;
 }
 /**
  * @return Job
  */
 public static function createJob($ticket = null, $type = null, $status = null, $processingTime = null, $parameters = null, array $schedules = array())
 {
     $job = new Job();
     $job->setTicket($ticket);
     $job->setType($type);
     $job->setParameters($parameters);
     $job->setProcessingTime($processingTime);
     foreach ($schedules as $schedule) {
         $job->addSchedule($schedule);
     }
     if ($status != null) {
         $job->setStatus($status);
     }
     return $job;
 }
 /**
  * @param string             $type
  * @param Status             $status
  * @param array              $parameters
  * @param SchedulerInterface $schedule
  * @param mixed              $response
  * @return Job
  */
 public function createJob($type, $status = null, $parameters = null, $schedule = null, $response = null)
 {
     $job = new Job();
     $job->setType($type);
     $job->setParameters($parameters);
     $job->setResponse('JobResponse');
     if ($status != null) {
         $job->setStatus($status);
     }
     if ($schedule !== null) {
         $job->addSchedule($schedule);
     }
     return $job;
 }
 /**
  * @param array $parameters
  * @return Job
  */
 private function buildJobFromArray($parameters)
 {
     $job = new Job();
     $job->setType(isset($parameters['type']) ? $parameters['type'] : null);
     if (isset($parameters['parameters']) && count($parameters['parameters']) > 0) {
         $message = new Message($parameters['parameters'][0]['to'], $parameters['parameters'][0]['from'], $parameters['parameters'][0]['subject'], $parameters['parameters'][0]['message']);
         $job->setParameters([$message]);
     }
     if (isset($parameters['schedules'])) {
         foreach ($parameters['schedules'] as $scheduleParameters) {
             $schedule = new Schedule($scheduleParameters['type'], $scheduleParameters['expression']);
             $job->addSchedule($schedule);
         }
     }
     return $job;
 }
 public function testOnMessageWithScheduledJob()
 {
     $message = new Message('type', 'ticket');
     $job = new Job($message->getType());
     $job->setTicket($message->getTicket());
     $job->addSchedule(new Schedule());
     $this->jobManager->expects($this->once())->method('findByTicket')->with($message->getTicket())->willReturn($job);
     $this->locker->expects($this->once())->method('lock')->with(Manager::JOB_LOCK_PREFIX . $job->getTicket());
     $this->expectsCallsUpdateJob($job, Status::SLEEPING());
     $this->expectEventNeverDispatched(JobEvents::JOB_TERMINATED);
     $this->subject->onMessage($message);
 }