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