public void Run() { try { RunInfo.StartTime = DateTime.Now; RunInfo.Status = RunStatus.Running; while (StopFunction.ShouldContinue(RunInfo)) { RunEpoch(); Logger?.LogInfo(RunInfo.ToString()); } } catch (Exception ex) { Logger?.LogError(ex); RunInfo.Status = RunStatus.Faulted; } }