Esempio n. 1
0
        private void PrintJobState(string jobStateIdentifier)
        {
            bool condtion = true;
            var  pRec     = new ProgressRecord(0, "ID: ", jobStateIdentifier);

            while (condtion)
            {
                ClusteredRecoveryJobState jobState = ConfigurationConnection.Current.GetJobState(jobStateIdentifier);
                WriteObject(jobState.PercentageExecution);
                pRec.PercentComplete = (int)jobState.PercentageExecution;
                WriteProgress(pRec);
                Thread.Sleep(50);
                condtion = jobState.Status == RecoveryStatus.Completed || jobState.Status == RecoveryStatus.Failure;
            }
        }
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);
        }