public function queueDelayed($endTime = null, $startTime = 0)
    {
        $startTime = $startTime ?: 0;
        $endTime = $endTime ?: time();

        foreach ($this->resolveQueues() as $queue) {
            $this->redis->multi();
            $jobs = $this->redis->zrangebyscore(Queue::redisKey($queue, 'delayed'), $startTime, $endTime);
            $this->redis->zremrangebyscore(Queue::redisKey($queue, 'delayed'), $startTime, $endTime);
            list($jobs, $found) = $this->redis->exec();

            if ($found > 0) {
                foreach ($jobs as $payload) {
                    $job = Job::loadPayload($queue, $payload);
                    $job->setWorker($this);

                    if (Event::fire(Event::JOB_QUEUE_DELAYED, $job) !== false) {
                        $job->queue();

                        Event::fire(Event::JOB_QUEUED_DELAYED, $job);
                    }
                }

                Stats::decr('delayed', $found);
                Stats::decr('delayed', $found, Queue::redisKey($queue, 'stats'));

                $this->log('Added <pop>'.$found.'</pop> delayed job'.($found == 1 ? '' : 's').' to <pop>'.$queue.'</pop> queue', Logger::NOTICE);
            }
        }
    }