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

Reply via email to