docs: def requeue(self, queue_name=None, priority=None, delayed_for=None,
                                          delayed_until=None, queue_model=None):
          """
          Requeue the job in the given queue if it has previously failed
          """
          queue_name = self._get_queue_name(queue_name)
  
          # we can only requeue a job that raised an error
          if self.status.hget() != STATUSES.ERROR:
              raise LimpydJobsException('Job cannot be requeued if not in ERROR status')
  
          self.hdel('start', 'end')
  
          if priority is None:
              priority = self.priority.hget()
  
          delayed_until = compute_delayed_until(delayed_for, delayed_until)
  
          self.enqueue_or_delay(queue_name, priority, delayed_until, queue_model=queue_model)