public function put($name, array $options = null, $queue = null, \DateTime $when = null, $trackStatus = false)
    {
        if ($this->debug) {
            return;
        }

        if (!$queue) {
            $queue = $this->defaultQueue;
        }

        $args = array_merge([
            'name' => $name,
            'options' => $options,
        ], $this->kernelOptions);

        $trackJobStatus = $trackStatus || $this->trackStatus;

        if ($when) {
            \ResqueScheduler::enqueueAt($when, $queue, Job::class, $args, $trackJobStatus);

            return new JobDescription($when, $queue, Job::class, $args, $trackJobStatus);
        } else {
            $id = \Resque::enqueue($queue, Job::class, $args, $trackJobStatus);

            return new JobDescription(null, $queue, Job::class, $args, $trackJobStatus, $id);
        }
    }