On Thu, Sep 16, 2010 at 09:00:02AM -0700, SteveG wrote:
> 
> I do have a couple more questions. I assume this will be ok but if I
> setup everything like you suggested and have both instances of my app
> create a engine and have the workers sharing the same storage will
> there be any issue if you have wait expression like below? I just want
> to ensure that the  accounting task will only get executed once on day
> 30.
> 
> sequence do
>   accounting :task => 'invoice'
>   wait '30d' # 30 days
>   accounting :task => 'check if customer paid'
> end

Hello Steve, hello Nathan,

with multiple workers, they probably will all pick the schedule task on day +30 
but the first one to delete it successfully (reserve) will win and thus trigger 
the reply to wait (and the flow will resume).

The storage implementation [have to] ensure no two workers get a "deleted 
successfully" answer.

If the winning worker dies after the successful reservation, then a manual fix

  http://ruote.rubyforge.org/process_administration.html

is required.


> Also, another question with using the wait expression above. Say on
> day 29 we have an outage where the system is down for couple of days.
> When we bring everything up on day 31 what will happen to the flow
> above? Will the account task trigger or do we have to somehow manually
> fix the issue.

The schedule (and everything scheduled in the past) should trigger just fine.


Best regards,

-- 
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