[Rake-devel] recursive task invocation
Ittay Dror (Freiman)
ittay.dror at gmail.com
Mon Aug 11 13:37:40 EDT 2008
On Mon, Aug 11, 2008 at 6:24 PM, Jim Weirich <jim.weirich at gmail.com> wrote:
> On Aug 11, 2008, at 9:35 AM, Ittay Dror wrote:
>> Note that the current use of threads, in either MultiTask, or the JobTask
>> I sent earlier is faulty. Imagine tasks A, B, C, D where A => [B, C],
>> B=>[D], C=>[D]. Now if B and C are invoked in parallel, C invokes D which
>> fails. C promptly fails. B continues to run and to it D seems to have been
>> already invoked, so it does its actions assuming D's actions were executed
>> which isn't true.
> Do we need some kind of error state, eg. invoked, but failed?
My initial suggestion is to linearize the invocation process. Then, if
a task fails, Rake stops the execution. If a developer wants the
execution to continue even if some actions fail, he writes those
actions such that they return normally (begin...rescue).
> -- Jim Weirich
> -- jim.weirich at gmail.com
> Rake-devel mailing list
> Rake-devel at rubyforge.org
More information about the Rake-devel