private void SavePart(DatabaseChunkPart 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 { Console.WriteLine("DatabaseChunkBuilder"); var dbChunk = new DbChunk(Settings.Settings.Current.Building.BuilderConnectionString); var part = new DatabaseChunkPart(_chunkId, _createPersonBuilder, "0", 0); var timer = new Stopwatch(); timer.Start(); part.Load(); Logger.Write(_chunkId, LogMessageTypes.Info, $"Loaded - {timer.ElapsedMilliseconds} ms | {(GC.GetTotalMemory(false) / 1024f) / 1024f} Mb"); part.Build(); part.Save(); dbChunk.ChunkComplete(_chunkId, Settings.Settings.Current.Building.Id.Value); Console.WriteLine($"ChunkId={_chunkId} was complete"); } catch (Exception e) { Logger.WriteError(_chunkId, e); throw; } }