public function retry($backOffTime = null)
    {
        $retry = $this->getRetry();

        // Log the retry
        $this->queue->getClient()->getRedis()->hset(\date('Y-m-d') . '_retry', (string)\time(), \json_encode([
            'class' => $this->getWorkerClass(),
            'args' => $this->getArgs(),
            'retry' => \gettype($retry) === 'boolean' ? (bool)$retry : (int)($retry - 1),
            'priority' => (float)$this->getPriority(),
            'id' => $this->getId()
        ]));

        return $this->queue->push(
            $this->getWorkerClass(),
            $this->getArgs(),
            \gettype($retry) === 'boolean' ? (bool)$retry : (int)($retry - 1),
            (float)$this->getPriority(),
            \time() + $backOffTime ?? 0,
            $this->getId()
        );
    }