in code/KustoCopyConsole/Runner/MainRunner.cs [82:116]
public async Task RunAsync(CancellationToken ct)
{
DisplayExistingIterations();
await using (var progressBar = new ProgressBar(RowItemGateway, ct))
{
foreach (var a in Parameterization.Activities.Values)
{
EnsureActivity(a);
EnsureIteration(a);
}
var iterationRunner = new PlanningRunner(
Parameterization, Credential, RowItemGateway, DbClientFactory, StagingBlobUriProvider);
var tempTableRunner = new TempTableCreatingRunner(
Parameterization, Credential, RowItemGateway, DbClientFactory, StagingBlobUriProvider);
var exportingRunner = new ExportingRunner(
Parameterization, Credential, RowItemGateway, DbClientFactory, StagingBlobUriProvider);
var awaitExportedRunner = new AwaitExportedRunner(
Parameterization, Credential, RowItemGateway, DbClientFactory, StagingBlobUriProvider);
var queueIngestRunner = new QueueIngestRunner(
Parameterization, Credential, RowItemGateway, DbClientFactory, StagingBlobUriProvider);
var awaitIngestRunner = new AwaitIngestRunner(
Parameterization, Credential, RowItemGateway, DbClientFactory, StagingBlobUriProvider);
var iterationCompletingRunner = new IterationCompletingRunner(
Parameterization, Credential, RowItemGateway, DbClientFactory, StagingBlobUriProvider);
await TaskHelper.WhenAllWithErrors(
Task.Run(() => iterationRunner.RunAsync(ct)),
Task.Run(() => tempTableRunner.RunAsync(ct)),
Task.Run(() => exportingRunner.RunAsync(ct)),
Task.Run(() => awaitExportedRunner.RunAsync(ct)),
Task.Run(() => queueIngestRunner.RunAsync(ct)),
Task.Run(() => awaitIngestRunner.RunAsync(ct)),
Task.Run(() => iterationCompletingRunner.RunAsync(ct)));
}
}