code: public function requeue(?string $queue = null, array $opts = []): string
      {
          $opts = array_merge(
              [
                  'delay'     => 0,
                  'data'      => $this->data,
                  'priority'  => $this->priority,
                  'retries'   => $this->retries,
                  'tags'      => $this->tags,
                  'depends'   => $this->dependencies,
              ],
              $opts
          );
  
          $queueName = $queue ?: $this->queue;
  
          $data = json_encode($opts['data'], JSON_UNESCAPED_SLASHES) ?: '{}';
  
          return $this->client
              ->requeue(
                  $this->worker,
                  $queueName,
                  $this->jid,
                  $this->klass,
                  $data,
                  $opts['delay'],
                  'priority',
                  $opts['priority'],
                  'tags',
                  json_encode($opts['tags'], JSON_UNESCAPED_SLASHES),
                  'retries',
                  $opts['retries'],
                  'depends',
                  json_encode($opts['depends'], JSON_UNESCAPED_SLASHES)
              );
      }
docs: Requeue this job.
  
  Optional values to replace when re-queuing job
  
  * int delay          delay (in seconds)
  * array data         replacement data
  * int priority       replacement priority
  * int retries        replacement number of retries
  * string[] tags      replacement tags
  * string[] depends   replacement list of JIDs this job is dependent on
  
  @param  string $queue New queue name.
  @param  array  $opts  Optional parameters.
  @return string