internal ConfigurationRecoveryJobBase(string jobIdentifier, RecoveryJobType jobType, RecoveryPersistenceManager persistenceManager, string cluster) { _jobIdentifier = jobIdentifier; _jobType = jobType; _persistenceManager = persistenceManager; _cluster = cluster; _executionState = new ShardRecoveryJobState(jobIdentifier, string.Empty, string.Empty, _cluster, _jobType); }
internal JobInfoObject(string id, string shardName, string nodeAddress, string clusterName, RecoveryJobType jobType, string path) { _jobList = new List <RecoveryJobBase>(); _jobIdentifier = id; _rootPath = path; _recoveryPersistenceManager = new Recovery.RecoveryPersistenceManager(); _recoveryPersistenceManager.LocalShardName = shardName; _executionState = new ShardRecoveryJobState(id, shardName, nodeAddress, clusterName, jobType); _mutex = new object(); }
void IRecoveryManager.SubmitRecoveryState(object state) { if (state != null) { ShardRecoveryJobState _shardStatus = (state as ShardRecoveryJobState); if (_runningClusteredJobMap.ContainsKey(_shardStatus.Identifier)) { System.Threading.Tasks.Task.Factory.StartNew(() => (_runningClusteredJobMap[_shardStatus.Identifier] as IClusteredRecoveryJob).SubmitRecoveryState(_shardStatus)); } } }
public void Dispose() { _recoveryPersistenceManager.Dispose(); foreach (RecoveryJobBase job in _jobList) { try { job.Dispose(); } catch (ThreadAbortException) { Thread.ResetAbort(); } } _jobList = null; _executionState = null; }
public void SubmitShardJobStatus(ShardRecoveryJobState status) { throw new NotImplementedException(); }