Hello!
I need your help, about my server.

One part is based on sinatra and ruote, mostly.
I run the server with Thin.
I'm using HashStorage for ruote.

In it, I'm using ruote for managing user workflows, eg. user
registration:

----------->>>
Ruote.process_definition :name => "User registration workflow" do
  sequence do
    participant 'process user registration'

    participant 'send activation mail'

    concurrence do
      sequence do
        participant :ref => 'wait for confirmation', :tag =>
'waiting_4_confirmation'
        cancel :ref => 'waiting_24'
      end
      sequence do
        wait :for => '24h', :tag => 'waiting_24'
        cancel :ref => 'waiting_4_confirmation'
      end
    end

    participant 'finalize registration on server'
  end
end
<<<-----------

I'm not sure if it's the best solution in the first place.
Anyways, when i launch this workflow, it steps from participant from
participant extremely slowly;
it takes seconds to step to the 'send activation mail' participant,
but it's just a simple string output (right now):

----------->>>
    engine.register_participant 'process user registration' do |
workitem|
      puts '>>> process user registration'
    end
<<<-----------

Then it takes also a lot of time, about 30 sec, to load the whole
concurence definition, where it waits for 24 hours or the user
confirmation (a Mutex).

And here's something interesting:
If I access any part of the engine class, eg. engine.processes.inspect
to see what's changed, it just takes the step instantly, to one
participant to the other. (Or building the expression tree: when it's
built up until the concurence definition, there are 7 expressions in
the process).
So here it doesnt take seconds to move.

Have you ever experienced anything like this, do you have a solution?
Thank you!

-- 
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