Hello folks,

I am trying to use ruote for managing backend processes (as opposed to human 
processes). I think I'm getting the hang of ruote itself but I'm having quite a 
bit of trouble integrating it with the rest of my code.

Specifically, I have the following issues:

1. Ruote state is a black box. How do I know what workflows are running? What 
is the status of each running workflow? Where is the list of workflows that 
finished? What is their status? Is there an API that will remain stable 
throughout minor versions that I can rely on?

2. Waiting for workflows is not reliable. Ruote cannot wait for workflows that 
finish before the wait starts. This affects short/quick workflows, workflows 
which fail immediately due to user or programmer error, or situations when 
waiting happens a long time after workflow is started because something else is 
being done in parallel.

3. Ruote does not limit concurrency. If some of my workflows use external 
resources such as downloading files from the internet I don't want an unbounded 
number of these workflows running at once.

My solution so far has been to implement my own tracking of workflows, waiting 
and locking. Since our application is built on rails I have used activerecord 
for persistence. It seems that activerecord still does not play nice with 
threads though as my ruby (1.8) runtime hangs itself every other time I try to 
run a workflow now. For all practical purposes the application I built is 
unusable. I have ideas how to hack my way out of this mess but I took a step 
back and asked myself why I'm doing all these things in the first place.

I considered typical ruote use cases mentioned in the documentation and on the 
mailing list and I suppose when dealing with human processes that are persisted 
externally some or all of these issues do not appear. I'm starting to think 
that ruote works ok for state transitions for objects persisted elsewhere but I 
don't see how it can effectively manage processes that only exist in ruote.

Am I missing something here? I would love to be proven wrong about some of the 
things I stated as facts above.

Rich

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