private function hydrate()
    {
        $key = $this->queue->generateListKey();
        $job = $this->queue->getClient()->getRedis()->hGetAll("$key:" . $this->id);

        if (empty($job)) {
            throw new JobNotFoundException('Unable to fetch job details from Redis.');
        }

        $this->workerClass = $job['workerClass'];
        $this->args = \json_decode($job['args'], true);
        $this->priority = $job['priority'];

        $r = \explode(':', $job['retry']);
        if ($r[0] === 'boolean') {
            $this->retry = (bool)$r[1];
        } elseif ($r[0] === 'integer') {
            $this->retry = (int)$r[1];
        }
    }