Hello John,

I guess the latest solution will work in many cases, but it also looks
like a mine that can be hard to detect in the future when debugging…

The problem pertains to several engines using the same storage---and
perhaps to the wfid generation scheme (?). There are two situations
then:
1) The engines work on the same wfid (meaning they need to share data)
=> It does not make sense (imho). The worker abstraction would be used
on a single engine to that end. It may move the problem to workers…
2) The engines work on different wfids => They can use the same
storage, but for different records. They may share process definitions
in the storage, but they do not share process instances owing to their
independence.

That may lead to restructuring the storage or, just a guess, labeling
process instances with an engine id so as to filter them.

You referred to the case where the process dies. I am not sure to get
it properly, but a dead process still leaves instance information in
the storage. Assuming there is an engine id in that information, can't
we do something that way? One problem considering the current commit
(@0880deb) is that the above requires extending the cloche#get
function to include filters. Is that a way to engage? I do not know
well document-based data layers...

Eric


On Sep 30, 1:33 pm, John Mettraux <[email protected]> wrote:
> On Wed, Sep 29, 2010 at 11:32:14AM +0900, John Mettraux wrote:
>
> > On Mon, Sep 27, 2010 at 10:33:00PM -0700, Eric Platon wrote:
>
> > > > Speaking of things occuring at different paces, I think there might 
> > > > still be an issue in the current implementation : what happens if 
> > > > engine A just launched wfid0, and engine B stumbles on
>
> > > My project requires a single engine. I feel safe against such a
> > > scenario, but the problem exists, yes.
>
> > > Instead of iterating in the hope to get a unique name, how about
> > > having launch_single also store the engine name aside the wfid ?
>
> > this would tell me that another engine did the launch, but maybe the 
> > process is dead (and needs to be relaunched).
>
> > Still thinking about this issue.
>
> Hello Eric,
>
> I went with this patch
>
>  http://github.com/jmettraux/ruote/commit/0880debd868628138bc5497c4563...
>
> it doesn't attempt to relaunch if the wfid is less that 1 second old or 
> pointing to a running process.
>
> Shout if you feel it's wrong.
>
> Cheers,
>
> --
> 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