On Fri, Aug 20, 2010 at 08:45:01AM -0700, cappelaere wrote: > > I am running 2.1.10 and ran into this problem with concurrent > execution. > A & B run concurrently then C executes. It seems that C is not seeing > the results of B. I wrote this testcase that seems to show the same > problem on my machine.
Hello Patrice, thanks for the test case. I have modified it a bit to make it pass ( http://gist.github.com/540649 ) : ---8<--- require File.join(File.dirname(__FILE__), 'base') #require 'ruote/part/hash_participant' class EftConcurrenceTest < Test::Unit::TestCase include FunctionalBase def test_issue pdef = Ruote.process_definition do sequence do concurrence :merge_type => :mix do alpha bravo end charlie end end alpha = @engine.register_participant :alpha do |workitem| workitem.fields['alpha_entry'] = 'done' end bravo = @engine.register_participant :bravo do |workitem| workitem.fields['bravo_entry'] = 'done' end charlie = @engine.register_participant :charlie do |workitem| #p workitem.fields end wfid = @engine.launch(pdef) r = @engine.wait_for(wfid) assert_equal 'done', r['workitem']['fields']['alpha_entry'] assert_equal 'done', r['workitem']['fields']['bravo_entry'] end end --->8--- The key is the :merge_type => :mix for the concurrence, as explained in : http://ruote.rubyforge.org/exp/concurrence.html 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
