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
Thanks,
Nathan
Regards,
//nando
--
you received this message because you are subscribed to the "ruote
users" group.
to post : send email to openwfe...@googlegroups.com to unsubscribe
: send email to openwferu-use...@googlegroups.com
more options : http://groups.google.com/group/openwferu-users?hl=en