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