protected override JobRunStatus RetrieveCurrentStatus() { if (_jobServer == null) { Logger.Debug("Creating rest api client for scheduler"); _jobServer = _jobServerProvider(); } var taskId = _originalStatus.Id; JobRunStatus currentStatus; try { Logger.Debug($"Fetching current status for task {taskId} with previous index of {_previousMessageIndex}"); currentStatus = _jobServer.GetJobRunStatus(taskId, _previousMessageIndex).Result; _previousMessageIndex = currentStatus.CurrentMessageIndex; Logger.Debug($"Task {taskId} has status of {currentStatus}"); Logger.Debug($"Showing all {currentStatus.Messages.Length} messages"); foreach (var statusMessage in currentStatus.Messages) { Logger.Debug($"Message: {statusMessage}"); _messagePresenter.ShowMessage(statusMessage); } } catch (Exception ex) { Logger.Error(ex, $"While waiting for the task to finish, an exception was thrown: {ex.Message} Stack Trace: {ex.StackTrace}"); currentStatus = _originalStatus.Copy(); currentStatus.Result = Result.Failure( "Lost connection to the server, and so couldn't finish processing this task"); currentStatus.State = JobRunState.Finished; currentStatus.FinishTime = DateTime.Now; } return(currentStatus); }
protected override JobRunStatus RetrieveCurrentStatus() { if (_jobServer == null) { Logger.Debug("Creating rest api client for scheduler"); _jobServer = _jobServerProvider(); } var taskId = _originalStatus.Id; JobRunStatus currentStatus; try { Log.Debug($"Fetching current status for task {taskId}"); currentStatus = _jobServer.GetJobRunStatus(taskId).Result; Log.Debug($"Task {taskId} has status of {currentStatus}"); _jobRunStatusPresenter.PresentAnyChangesTo(currentStatus); } catch (Exception ex) { Logger.Error(ex, $"While waiting for the task to finish, an exception was thrown: {ex.Message} Stack Trace: {ex.StackTrace}"); currentStatus = _originalStatus.Copy(); currentStatus.Result = Result.Failure( "Lost connection to the server, and so couldn't finish processing this task"); currentStatus.State = JobRunState.Finished; currentStatus.FinishTime = DateTime.Now; } return(currentStatus); }