Module: Enumerable

Defined in:
lib/drmap/drmap_enumerable.rb

Instance Method Summary collapse

Instance Method Details

#drmap(&block) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/drmap/drmap_enumerable.rb', line 3

def drmap(&block)
  raise "No data" if self.size == 0
  pool = Drmap::BeanstalkPool.new

  jid = Kernel.rand(100)
  each_with_index do |element, idx|
    # puts "Adding #{jid}, #{element}, #{block.to_ruby}"
    pool.put_job(jid, block.to_ruby, element)
  end

  results = []
  while results.size < length
    results << pool.next_result(jid)
  end
  results
end