def run
      done = []

      queues.each_with_object([]) {|(fqdn, queue), workers|
        @thread_limit.times.map.with_index {|i|
          workers << Thread.start {
            Thread.current[:id] = i+1
            done.push *worker_class(fqdn).new(fqdn, queue(fqdn), cache(fqdn), &@block).run(@thread_limit)
          }
        }
      }.each {|t| t.join }

      done
    end
def run
      done = []

      queues.each_with_object([]) {|(fqdn, queue), workers|
        @thread_limit.times.map.with_index {|i|
          workers << Thread.start {
            Thread.current[:id] = i+1
            done.push *worker_class(fqdn).new(fqdn, queue(fqdn), cache(fqdn), &@block).run(@thread_limit)
          }
        }
      }.each {|t| t.join }

      done
    end
Public: Run the query threads.

 Returns Raw level Array of Queries.