module Typhoeus::Hydra::Runnable

This module contains logic to run a hydra.

Public Instance Methods

run() click to toggle source

Start the hydra run.

@example Start hydra run.

hydra.run

@return [ Symbol ] Return value from multi.perform.

# File lib/typhoeus/hydra/runnable.rb, line 13
def run
  number_requests = 0
  loop do
    break if number_requests == max_concurrency || queued_requests.empty?
    number_requests += queued_requests.pop(max_concurrency).map do |request|
      add(request)
    end.size
  end
  multi.perform
end