public RecoveryConfiguration GetJobConfiguration(string identifier) { RecoveryConfiguration config = new RecoveryConfiguration(); config.Identifier = identifier; if (_runningClusteredJobMap.ContainsKey(identifier)) { config = ((ClusterRecoveryJob)_runningClusteredJobMap[identifier]).ActiveConfig; } else { ClusterJobInfoObject jobInfo = _configurationStore.GetRecoveryJobData(identifier); if (jobInfo != null) { config = jobInfo.ActiveConfig; } } return(config); }
public ClusteredRecoveryJobState GetJobState(string identifier) { ClusteredRecoveryJobState state = new ClusteredRecoveryJobState(identifier); try { RecoveryConfiguration config = new RecoveryConfiguration(); config.Identifier = identifier; state.Identifier = identifier; if (_runningClusteredJobMap.ContainsKey(identifier)) { IClusteredRecoveryJob _job = ((IClusteredRecoveryJob)_runningClusteredJobMap[identifier]); state = _job.CurrentState(config) as ClusteredRecoveryJobState; } else { ClusterJobInfoObject clusterJobs = _configurationStore.GetRecoveryJobData(identifier); if (clusterJobs != null)// this should always be equyal { state = clusterJobs.ExecutionState; } else { state.Message = "Invalid identifier provided"; } // query db for } } catch (Exception ex) { if (LoggerManager.Instance.RecoveryLogger != null && LoggerManager.Instance.RecoveryLogger.IsErrorEnabled) { LoggerManager.Instance.RecoveryLogger.Error("RecoveryManager.GetState()", ex.ToString()); } state.Message = ex.Message; } return(state); }