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

Reply via email to