This release brings full support for continuations in batches, including the nested ones. Now you can create continuations within a batch even for jobs or batches in nested batches. Consider the following sample:

BatchJob.StartNew(parent =>
{
    var nested1 = parent.StartNew(nested =>
    {
        nested.Enqueue(() => Console.WriteLine("Nested 1"));
    });

    var nested2 = parent.AwaitBatch(nested1, () => Console.WriteLine("Nested 2"));

    var nested3 = parent.AwaitJob(nested2, nested =>
    {
        nested.Enqueue(() => Console.WriteLine("Nested 3"));
    });

    string nested5 = null;

    var nested4 = parent.AwaitBatch(nested3, nested =>
    {
        nested5 = nested.Enqueue(() => Console.WriteLine("Nested 4"));
    });

    parent.ContinueWith(nested5, () => Console.WriteLine("Nested 5"));
});

Release Notes

  • Added – Full support for job and batch continuations in nested batches.
  • Fixed – Continuations now work properly, when antecedent job/batch and continuation have the same batch

Comments