Hello John, thank you for you for your answer.
Some questions are still open: Yes, you are right, i need more a customer-based workflow-instance than a web-session. So i tried this: wfid = dashboard.launch(pdef, 'customer_id' => customer_id) .. with an individual given ID. But the same: If i start 2 Session (each in a different terminal), the output of the one occurs in the other and the input of the other terminal occurs asynchronously in the other terminal window. Maybe i need a separate process-definition-name? I think, i understood the theory: one piece of work will be done by multi users. But in my case, each user (web-client) has to go through the same workflow (from the beginning until the end). The instances differentiate only by the different user-choice of sub-processes, they want to go through. Do You know a better way to synchronize the sessions for each client? An other problem i saw is the Timeout of 60s. Even if i give a much longer timeout to my main sequence like sequence :timeout => '2000s' do... there is a timeout after 60s: /home/hugo/.rvm/gems/ruby-1.9.2-p318/gems/ruote-2.3.0/lib/ruote/log/wait_logger.rb:144:in `block in wait_for': waited for [:informTimeout], timed out after 60s (Ruote::LoggerTimeout) i found it is the default value for timeout, defined here: /ruby-1.9.2-p318/gems/ruote-2.3.0/lib/ruote/log/wait_logger.rb @timeout = context['wait_logger_timeout'] || 60 # in seconds: But how can i set the timeout to infinitely? An Other question is, how to interrupt and reopen a started process-instance? Is such an interrupt also possible in a shell client? With "ruote-fluo" i am nearly happy. Wasn't there a possibility to start and stop the instances? Or was this only possible with ruote-kit? Last but not least: why do i have to use this Dashboard now, instead of the engine? Hope to get the overview once. Greetings from Germany, Klaus Am 20. April 2012 22:21 schrieb John Mettraux <[email protected]>: > > On Fri, Apr 20, 2012 at 12:37:13PM -0700, Klaus Schmidtmamn wrote: > > > > The configuration: > > If i have one ruby file, containing one Processdefinition > > > > 8<----------------- > > pdef = Ruote.process_definition :name => 'test' do... > > 8<----------------- > > > > and one launcher: > > > > 8<----------------- > > ... > > wfid = engine.launch(pdef) > > engine.wait_for(:informTimeout) > > ... > > 8<----------------- > > > > As a single instance, everything works fine. > > > > If i start this file in 2 different terminals, i get 2 different > > wfid's: > > > > the 1st terminal's output: > > 8<----------------- > > fei : 0_0_0!0a07ade70aa2f61d64eb2369fa5b13d1!20120420-sazadage > > wfid : 20120420-sazadage > > expid : 0_0_2 > > subid : 006d2501d04df7dc1709be397bf611fe > > engine_id : engine > > ... > > 8<----------------- > > > > and the 2nd terminal's output: > > 8<----------------- > > fei : 0_0_0!b9af9b46ec94e36019285685bc247737!20120420-powowope > > wfid : 20120420-powowope > > expid : 0_0_2 > > subid : 7f2e1c1f459b2e4bbb164c9fe3c4f3b5 > > engine_id : engine > > ... > > 8<----------------- > > > > But the processdefinition drives crazy asyncronously: output from the > > first instance comes in the 2nd terminal and so on. > > Hello Klaus, > > from what you describe, you seem to be using a file storage shared by your > two "engines", making them effectively a single "engine". The worker in > terminal 1 and the one in terminal 2, each launch a workflow and then > compete > for pieces of work. > > Not all storage implementations are "multi worker" enabled. The > documentation > at http://ruote.rubyforge.org/configuration.html#storage should help. > > > > My Questions: > > > > 1. What have i to do in order to execute multi process-instances at > > the same time? > > You just described how you ran two process instances thanks to two workers > above... > > > > My goal is later to built a web-application for multi- > > authors in order to generate knowledge-Objects which are thebase fpr > > new knowledge-modells (its part of my master thesis). Is it possible > > to configure one processinstance with a web-session-id? > > I guess that you could launch a process instance and pass a workitem field > containing the web-session-id: > > ---8<--- > @dashboard.launch(process_definition, 'web_session_id' => web_session_id) > --->8--- > > This sets the workitem field 'web_session_id' at launch. Of course, you can > set more fields. > > I have the impression you're trying to build a web wizard (because you want > to store that "web-session-id"). What if the workflow is meant to live > longer > than a browser session? > > You could decide not to care about "web sessions" and simply have different > tasklists or worklists by users and they pick workitems there and proceed > them or cancel them (ruote-kit's web interface is a some example of that). > > > > 2. Is there a way to interact with instance variables between > > different Process-Instances e.g. for looking some ressources ect. Or > > whats it the mainly used technology in order to synchronize some > > instances? > > It's not possible. Instead it's much easier for different workflow > instances > to share resources by pointing at them. > > ---8<--- > @dashboard.launch( > process_definition, > 'customer_id' => customer_id, > 'item_id' => item_id) > --->8--- > > Here the process instance carries customer_id and item_id around and > updates > those in the database. It doesn't carry the whole objects in the workitem > fields. > > Now you can extend that and use it to make process instances > "communicate"... > > I'm probably not replying exactly to your question, but if you step back a > few paces and look at the whole house you'll think about different ways to > ask your question. > > > > 3. Is "ruote-fluo" still the state of the art in ruote-process- > > visualization? > > It's more of an example. I'm working on a new, SVG, version, but I have > trouble finding time for it, > https://github.com/jmettraux/ruote-fluo/tree/svg. > > > Hope it helps, kind 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 > -- 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
