in code/KustoCopyConsole/Runner/IterationCompletingRunner.cs [83:106]
private void CompleteActivities()
{
var candidateActivities = RowItemGateway.InMemoryCache
.ActivityMap
.Values
.Where(a => a.RowItem.State != ActivityState.Completed)
// There is at least one iteration: exclude iteration-less activities
.Where(a => a.IterationMap.Any())
// All iterations are completed
.Where(a => !a.IterationMap.Values.Any(i => i.RowItem.State != IterationState.Completed))
.Select(a => a.RowItem);
foreach (var activity in candidateActivities)
{
if (!Parameterization.IsContinuousRun
|| Parameterization.Activities[activity.ActivityName].TableOption.ExportMode
== ExportMode.BackfillOnly)
{
var newActivity = activity.ChangeState(ActivityState.Completed);
RowItemGateway.Append(newActivity);
}
}
}