Method: MapRedus::Reducer.perform
- Defined in:
- lib/mapredus/reducer.rb
.perform(pid, key) ⇒ Object
Doesn’t handle redundant workers and fault tolerance
TODO: Resque::AutoRetry might mess this up.
39 40 41 42 43 44 45 46 47 |
# File 'lib/mapredus/reducer.rb', line 39 def self.perform(pid, key) process = Process.open(pid) reduce_perform(process, key) rescue MapRedus::RecoverableFail Master.enslave_later_reduce(process, key) ensure Master.free_slave(pid) process.next_state end |