public void Execute() { var tableMappings = new TableMappings.TableMappings(); DeleteExtraneousStagingRows(); DoParallelProcessing(tableMappings); DeleteOrphanedEventInstances(tableMappings); }
private void DoParallelProcessing(TableMappings.TableMappings tableMappings) { _caches = new FixupCaches(_connectionString, _timeoutSecs, tableMappings); var pOptions = new ParallelOptions { MaxDegreeOfParallelism = _maxDegreeOfParallelism }; Parallel.ForEach(tableMappings, pOptions, (tableMapping, loopState) => { if (!loopState.IsExceptional) { TransformStagingTable(tableMapping, loopState); } }); }
private void DeleteOrphanedEventInstances(TableMappings.TableMappings tableMappings) { // if events have been deleted we need to remove rows from tables where those events // had previously been expanded into event instances... var pOptions = new ParallelOptions { MaxDegreeOfParallelism = _maxDegreeOfParallelism }; Parallel.ForEach(tableMappings, pOptions, (tableMapping, loopState) => { if (!loopState.IsExceptional) { var pt = (PublicTable)tableMapping.PublicTable; var colMappings = pt.GetColumnMappingsFromStage(_configuration); if (colMappings.EventExpansionRequired) { pt.DeleteOrphanedEventInstances(_connectionString, _timeoutSecs); } } }); }