As part of our use of Ruote, we need to be able to lookup a participant, 
grab the correct workitem based off of a unique reference number and make a 
decision as to if the workitem should be retried or not.

We are running into an error with #re_dispatch which appears to be a bug or 
is just incomplete due to 2.3.0 not being released yet.

We get the workitem like this:

participant = @engine.participant 'try_retry_again'
> workitem = participant.query(:reference => 'case-ref-87').first
>

Now we should be able to retry with this call

> re_dispatch(workitem, :in => '1m')
>

But this is raising a NoMethodError, "undefined method `fei' for 
nil:NilClass" 

The source of the NoMethodError is this call to `exp = fexp` in 
local_participant 
https://github.com/jmettraux/ruote/blob/master/lib/ruote/part/local_participant.rb#L166

Tracing through the method #fexp, it appears since no `wi_or_fei` variable 
is being passed, it ultimately executes the method #fei which asks for 
@workitem.fei.  The @workitem instance variable is null and causes the 
error:

 NoMethodError:
>    undefined method `fei' for nil:NilClass
>  # /Users/doug/src/ruote/lib/ruote/part/local_participant.rb:77:in `fei'
>  # /Users/doug/src/ruote/lib/ruote/part/local_participant.rb:88:in `fexp'
>  # /Users/doug/src/ruote/lib/ruote/part/local_participant.rb:166:in 
> `re_dispatch'
>


Modifying the ruote source on above line 166 in local_participant to read 
`exp = fexp(wi.fei)` fixes the issue.

Is this a bug or improper use of ruote?  If improper use, what would be a 
better way to achieve the same results?

Thanks, Doug

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