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