public function testGetJobs() { $job = $this->createJob(); self::$jobMapper->create($job); $job2 = $this->createJob(); self::$jobMapper->create($job2); $retries = 0; $res = []; while ($retries < 7) { $delaySecs = 2 * pow(2, $retries); sleep($delaySecs); $retries++; $projectId = $job->getProject()['id']; $res = self::$search->getJobs(['projectId' => $projectId, 'component' => SYRUP_APP_NAME, 'since' => '-1 day', 'until' => 'now']); if (count($res) >= 2) { break; } } $job1Asserted = false; $job2Asserted = false; foreach ($res as $r) { if ($r['id'] == $job->getId()) { $this->assertJob($job, $r); $job1Asserted = true; } if ($r['id'] == $job2->getId()) { $this->assertJob($job2, $r); $job2Asserted = true; } } $this->assertTrue($job1Asserted); $this->assertTrue($job2Asserted); }
public function testUpdateJob() { $job = self::$jobFactory->create(uniqid()); $id = self::$jobMapper->create($job); $job = self::$jobMapper->get($id); $job->setStatus(Job::STATUS_CANCELLED); self::$jobMapper->update($job); $job = self::$jobMapper->get($id); $this->assertEquals($job->getStatus(), Job::STATUS_CANCELLED); $job->setStatus(Job::STATUS_WARNING); self::$jobMapper->update($job); $job = self::$jobMapper->get($id); $this->assertEquals($job->getStatus(), Job::STATUS_WARNING); }
/** * @param Job $job * @param StorageApi\UniqueManager $uniqueGenerator * @return Job|null */ public function saveJob(Job $job, StorageApi\UniqueManager $uniqueGenerator) { $job->setStatus(Elasticsearch\Job::STATUS_WAITING); $job->setResults(null); $job->setCreatedTime(new \DateTime()); $id = $this->syrupJobMapper->create($this->buildEsJob($job, $uniqueGenerator)); return $this->findJobById($id); }