private async Task RunActivityAsync()

in code/KustoCopyConsole/Runner/PlanningRunner.cs [173:199]


        private async Task RunActivityAsync(string activityName, CancellationToken ct)
        {
            while (!AllActivitiesCompleted())
            {
                if (RowItemGateway.InMemoryCache.ActivityMap.TryGetValue(
                    activityName,
                    out var activity))
                {
                    var newIterations = activity.IterationMap
                        .Values
                        .Select(i => i.RowItem)
                        .Where(i => i.State <= IterationState.Planning)
                        .Select(i => new
                        {
                            Key = i.GetIterationKey(),
                            Iteration = i
                        });

                    foreach (var o in newIterations)
                    {
                        await PlanIterationAsync(o.Iteration, ct);
                    }
                }
                //  Sleep
                await SleepAsync(ct);
            }
        }