/** * @covers ::__construct * @covers ::createFromPayload */ public function testConstruct() { $job = new Job('Fake\\Class', ['data'], ['options'], ['extras']); $this->assertEquals('Fake\\Class', $job->getJob()); $this->assertEquals(['data'], $job->getData()); $this->assertEquals(['options'], $job->getOptions()); $this->assertEquals(['extras'], $job->getExtras()); $job = Job::createFromPayload($job->createPayload()); $this->assertEquals('Fake\\Class', $job->getJob()); $this->assertEquals(['data'], $job->getData()); $this->assertEquals(['extras'], $job->getExtras()); }
/** * {@inheritdoc} */ public function release(ManagerInterface $manager, $delay = 0) { $payload = $manager->getPayload(); $payload['attempts'] = isset($payload['attempts']) ? $payload['attempts'] + 1 : 2; $this->delete($manager); $job = Job::createFromPayload($payload); if ($delay > 0) { $this->delayed($manager->getQueue(), $delay, $job); } else { $this->push($manager->getQueue(), $job); } return true; }