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
