Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }