defunkt / mapreducerb

Simple map/reduce in Ruby

This URL has Read+Write access

defunkt (author)
Sat Apr 26 00:58:23 -0700 2008
commit  d65a05002920fdaceed754864fd92cbe37f8ebd3
tree    75357eea16e223c84351fd5e9e36fb40c0057dd4
mapreducerb / mapreduce_runner.rb
100644 18 lines (15 sloc) 0.42 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require 'rubygems'
require 'ruby2ruby'
require 'ringy_dingy'
 
ringy_dingy = RingyDingy.new nil
ring_server = ringy_dingy.ring_server
 
loop do
  pid, block, element, idx = ring_server.take([:dmap, nil, nil, nil, nil]).last(4)
  begin
    result = eval(block).call(element)
  rescue Object => err
    result = err
  end
  puts "Got #{result} from #{element} for #{pid}."
  ring_server.write([:dmap, pid, result, idx])
end