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); }