Hey John, Thanks this is exactly what i was looking for. Using concurrent_iterator and 'isolate', I should be able to complete what I'm working on. Things do get a little interesting when using more than one concurrent block in the process definition. Not sure I understand what logic the indexing for workitems follow in that case, but I probably won't need anything that complex anyways.
-d On Feb 17, 7:19 pm, John Mettraux <[email protected]> wrote: > On Thu, Feb 18, 2010 at 6:27 AM, Dave @ UPENN <[email protected]> wrote: > > > > > so i'm having a little trouble with passing vars among participants > > when using concurrence. > > > (...) > > > what's the > > best way to pass the live output info from a few concurrent > > participants to successive participants downstream? > > Hello Dave, > > have you tried to use the :merge_type => :isolate attribute of the > concurrence (or concurrent-iterator) expression ? > > Gist at :http://gist.github.com/307172 > > ---8<--- > require 'rubygems' > require 'ruote' > > engine = Ruote::Engine.new(Ruote::Worker.new(Ruote::HashStorage.new())) > # for this example we use a transient, in-memory engine > > #engine.context.logger.noisy = true > # useful when debugging > > engine.register_participant 'summary' do |workitem| > > puts '... summary :' > i = 0 > while (v = workitem.fields[i.to_s]) > puts " - #{v['result']}" > i = i + 1 > end > end > > engine.register_participant '.+' do |workitem| > > workitem.fields['result'] = "#{workitem.participant_name} : #{rand}" > end > > pdef = Ruote.process_definition :name => 'test' do > sequence do > concurrence :merge_type => :isolate do > alpha > bravo > charly > end > summary > end > end > > wfid = engine.launch(pdef) > engine.wait_for(wfid) > --->8--- > > More information at : > > http://ruote.rubyforge.org/exp/concurrence.html > http://ruote.rubyforge.org/exp/concurrent_iterator.html > > If you have suggestions/ideas/critics for this aspect of concurrence, > they are welcome. > > Best regards, > > -- > John Mettraux - http://jmettraux.wordpress.com -- you received this message because you are subscribed to the "ruote users" group. to post : send email to [email protected] to unsubscribe : send email to [email protected] more options : http://groups.google.com/group/openwferu-users?hl=en
