I have some qusestions about exception/cancelation handling strategy in Ruote.
On the documentation
http://ruote.rubyforge.org/patterns.html#cancellationc it's still "coming soon"
I met the following case:
sequence do
alice :work_id=>"111"
bob :work_id=>"222"
end
I am looking for the proper way to handle the situation where alice or bob may not be able to finish the given jobs, then the process can be terminated and the reason of the termination can be properly captured.
So I came up with following solutions, but not sure which is the proper way to do that:
1. cancel the process directly by calling Dashboard#cancel
2. cancel the workitem by calling Dashboard#cancel , but in this case, I found bob will still get the workitem.
3. add some expression in the definition, like
cancel if ${f:status == "failed"}
I found this tedious and cumbersome for dynamic generated definitions...
So, what is the proper cancellation strategy?
Thanks!