public void Process() { try { var channelFactory = ServicesManager.GetChannelFactory <IVocabularyService>("net.pipe://localhost/VocabularyServiceEndpoint"); vocabularyService = channelFactory.CreateChannel(); var part = new ChunkPart(chunkId, createPersonBuilder, "0"); part.Load(); part.Build(vocabularyService); part.Save(); var dbChunk = new DbChunk(Settings.Current.Building.BuilderConnectionString); dbChunk.ChunkComplete(chunkId); channelFactory.Close(); } catch (Exception e) { Logger.WriteError(chunkId, e); throw; } }
private void SavePart(ChunkPart part, string p) { var saveAttempt = 0; var saved = false; while (!saved) { try { saveAttempt++; part.Save(); saved = true; } catch (Exception ex) { if (saveAttempt <= 11) { Logger.Write(chunkId, LogMessageTypes.Warning, p + ") save attempt=" + saveAttempt + ") " + Logger.CreateExceptionString(ex)); } else { throw; } } } part.Clean(); }
public void Process() { try { var channelFactory = ServicesManager.GetChannelFactory <IVocabularyService>("net.pipe://localhost/VocabularyServiceEndpoint"); vocabularyService = channelFactory.CreateChannel(); var dbChunk = new DbChunk(Settings.Current.Building.BuilderConnectionString); var part = new ChunkPart(chunkId, createPersonBuilder, "0"); var timer = new Stopwatch(); timer.Start(); part.Load(); dbChunk.ChunkLoaded(chunkId); Logger.Write(chunkId, LogMessageTypes.Info, string.Format("Loaded - {0} ms | {1} Mb", timer.ElapsedMilliseconds, (GC.GetTotalMemory(false) / 1024f) / 1024f)); part.Build(vocabularyService); part.Save(); if (Settings.Current.Building.DestinationEngine.Database == Database.Redshift) { ServicesManager.AddToSaveQueue(chunkId); Logger.Write(null, LogMessageTypes.Debug, "AddToSaveQueue " + chunkId); } else { dbChunk.ChunkComplete(chunkId); } channelFactory.Close(); } catch (Exception e) { Logger.WriteError(chunkId, e); throw; } }