using Ruote::Dashboard#process with multiple workers sharing the same storage

29 views
Skip to first unread message

Matthew York

unread,
Sep 24, 2013, 10:06:41 PM9/24/13
to openwfe...@googlegroups.com
Hello,

I'm using ruote 2.3.0.2 with the ruote-mon storage backend.

I've found that in certain scenarios I'm unable to access data about a process using the same storage (but possibly running in another worker).
NOTE: that it's possible this is a timing issue, and the process has completed before I attempt to retrieve the ProcessStatus.

Does the process method have the same limitation as Ruote::Dashboard#wait_for method? (i.e. must be run using a single worker )

Also is there a better way for me to retrieve process status & errors across multiple workers?

Just one last question:
When multiple workflow workers co-exist with a common backend storage, is it pretty much a race condition for determining which engine executes the job?

--Thanks
Matt York

John Mettraux

unread,
Sep 24, 2013, 10:40:59 PM9/24/13
to openwfe...@googlegroups.com

On Tue, Sep 24, 2013 at 07:06:41PM -0700, Matthew York wrote:
>
> Hello,

Hello Matthew,

welcome to the ruote mailing list.

> I'm using ruote 2.3.0.2 with the ruote-mon storage backend.
>
> I've found that in certain scenarios I'm unable to access data about a
> process using the same storage (but possibly running in another worker).
>
> NOTE: that it's possible this is a timing issue, and the process has
> completed before I attempt to retrieve the ProcessStatus.

OK. So this is not a bug report message.

> Does the process method have the same limitation as
> Ruote::Dashboard#wait_for method? (i.e. must be run using a single worker )

No, the Dashboard#process method is supposed to see any currently running
process instance in the storage.

> Also is there a better way for me to retrieve process status & errors
> across multiple workers?

No, the Dashboard methods are meant to present you the info you need.

The Dashboard methods don't care about workers, they go directly to the
storage for information.

> Just one last question:
> When multiple workflow workers co-exist with a common backend storage, is
> it pretty much a race condition for determining which engine executes the
> job?

Yes, the workers compete to get tasks (msgs documents) and perform them.
There is no mechanism for priority/preference.


Best regards,

--
John Mettraux - http://lambda.io/jmettraux

Matthew York

unread,
Sep 25, 2013, 5:12:36 PM9/25/13
to openwfe...@googlegroups.com
Thanks John -- for the help and for creating Ruote -- I think I have all the info I need.
Reply all
Reply to author
Forward
0 new messages