On Sat, Nov 12, 2011 at 04:32:45PM -0800, Nathan wrote:
>
> Is anyone running ruote in production using JRuby? As ruote uses
> threads, I was thinking JRuby might be a more natural env. for it than
> MRI.

Hello Nathan,

I'm not using JRuby in production for ruote (I used to back in 2007, but since 
then the whole product got sold to another company, I was using JRuby to 
infiltrate Java, not for performance reasons), but here is a summary of how 
ruote uses threads:

- the ruote worker has its own thread, it's a loop that goes "fetch schedules, 
trigger the ones that are due, fetch msgs, trigger them, sleep a bit".

- the dispatcher, upon receiving dispatch orders from participant expressions 
(via the worker), will do the participant worker in a new thread (unless the 
engine or the participant says it does not want a new thread). Without a new 
thread, the participant [dispatch] work happens in the worker's thread (thus 
blocking other workflows (unless there are multiple workers)).

I'd say JRuby might shine when there are lots of "dispatches". IIRC the recent 
versions of JRuby got rid of the GIL.


Best regards,

--
John Mettraux - http://lambda.io/processi

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