Esempio n. 1
0
        private void DoParallelCopyConsolidationMap(ConsolidationTablesBuilder b)
        {
            var pOptions = new ParallelOptions {
                MaxDegreeOfParallelism = _configuration.MaxDegreeOfParallelism
            };

            Parallel.ForEach(b.GetTables(), pOptions, (table, loopState) =>
            {
                if (!loopState.IsExceptional)
                {
                    var p = new ConsolidationMapEtlProcess(
                        table, AdminConnectionString, PublicConnectionString, Timeouts.PublicDatabase, _configuration.Pipelines);

                    p.Execute();

                    var errors = p.GetAllErrors().ToArray();
                    if (errors.Any())
                    {
                        loopState.Stop();

                        string msg = $"Errors occurred during execution of consolidation map staging process: {table.Name}";
                        _log.Error(msg);

                        // throw the first exception
                        throw new ApplicationException(msg, errors[0]);
                    }
                }
            });
        }
Esempio n. 2
0
        private void CopyConsolidationMap()
        {
            _log.Debug("Copying consolidation map into public stage");

            // copies consolidation tables into the staging schema...
            // (the consolidation tables are already empty)

            var b = new ConsolidationTablesBuilder();

            DoParallelCopyConsolidationMap(b);
        }