On Thu, Sep 16, 2010 at 08:08:20AM -0700, SteveG wrote:
> 
> In our case we have a rails application which is load balanced across
> 2 machines. I would like this application to be able to launch
> processes in ruote and also participate within the process workflow. I
> am thinking that the best approach would be to start up a ruote-kit
> application and the the existing app communicate with ruote thru REST.
> 
> Is that the correct approach for a load-balanced application. If I
> take that approach is there a way to load balance the ruote-kit
> application? If not what are my options? In order for me to go ahead
> with using ruote I need either a way to load balance the workflow
> engine or provide a fail-over strategy in case the machine with ruote-
> kit goes down.
> 
> Also, if I am reading the documentation for rutoe-kit correctly, it
> seems that ruote-kit only supports Ruote::FsStorage for storage. I am
> looking under the Running Workers section in the README. If that is
> indeed the case I guess load-balancing the ruote-kit app is out of the
> question unless there is some type of shared drive invoked.

Hello Steve,

welcome in this mailing list.

Ruote-kit supports any of the storage implementation for ruote. It's just a 
matter of configuration.

  http://ruote.rubyforge.org/configuration.html

> What are some of the integration strategies that you guys are using?

For your case I'd say look at ruote-dm or ruote-beanstalk (maybe ruote-redis).

Then given 1 storage shared by your 2 machines, you could have 1 engine + 1 
worker in each of your instances.

If you have a third machine, you could place the worker and the storage 
together and only have engines in your front machines.

  engine = Ruote::Engine.new(Ruote::Worker.new(storage))

starts an engine + worker coupled to the given storage.

  engine = Ruote::Engine.new(storage)

only starts an engine (in ruote 2.1.x it became a mere dashboard). You can then 
have a worker (or an engine + worker) on the 3rd machine

FsStorage could be OK with a network drive, but it relies on file locking and 
IIRC, that doesn't play well with some of those filesystems.

Please note that we're actively working on ruote 2.1.11 and that we recommend 
using ruote-kit edge (http://github.com/tosch/ruote-kit).

Using REST for communication is probably only interesting if your front is not 
a Ruby front or if you really cannot use any of the advanced storage 
implementations.


Questions are welcome, 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