/** * {@inheritdoc} */ public function execute(ManagerInterface $manager) { $payload = $manager->getPayload(); $closure = unserialize($payload['closure']); return $closure($manager); }
/** * {@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; }