backup: refactoring
This commit is contained in:
parent
d0c36facbb
commit
abce571695
@ -259,46 +259,15 @@ public class BackupWorker
|
||||
return progress;
|
||||
}
|
||||
|
||||
public bool HaveBackupRestoreRequestWaitingTasks()
|
||||
public bool IsInstanceTooBusy()
|
||||
{
|
||||
var countActiveTask = _progressQueue.GetAllTasks<RestoreProgressItem>().Where(x => !x.IsCompleted).Count();
|
||||
var instanceTasks = _progressQueue.GetAllTasks(DistributedTaskQueue.INSTANCE_ID);
|
||||
|
||||
if (_progressQueue.MaxThreadsCount >= countActiveTask)
|
||||
if (_progressQueue.MaxThreadsCount >= instanceTasks.Count())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
public bool HaveBackupTransferRequestWaitingTasks()
|
||||
{
|
||||
if (_progressQueue.MaxThreadsCount == -1) return false;
|
||||
|
||||
var countActiveTask = _progressQueue.GetAllTasks<TransferProgressItem>().Where(x => !x.IsCompleted).Count();
|
||||
|
||||
if (_progressQueue.MaxThreadsCount >= countActiveTask)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public bool HaveBackupRequestWaitingTasks()
|
||||
{
|
||||
if (_progressQueue.MaxThreadsCount == -1) return false;
|
||||
|
||||
var countActiveTask = _progressQueue.GetAllTasks<BackupProgressItem>().Where(x => !x.IsCompleted).Count();
|
||||
|
||||
if (_progressQueue.MaxThreadsCount >= countActiveTask)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
}
|
@ -34,7 +34,7 @@ public class BackupRequestIntegrationEventHandler : IIntegrationEventHandler<Bac
|
||||
|
||||
if (!@event.Redelivered)
|
||||
{
|
||||
if (_backupWorker.HaveBackupRequestWaitingTasks())
|
||||
if (_backupWorker.IsInstanceTooBusy())
|
||||
{
|
||||
throw new IntegrationEventRejectExeption(@event.Id);
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ public class BackupRestoreRequestIntegrationEventHandler : IIntegrationEventHand
|
||||
|
||||
if (!@event.Redelivered)
|
||||
{
|
||||
if (_backupWorker.HaveBackupRestoreRequestWaitingTasks())
|
||||
if (_backupWorker.IsInstanceTooBusy())
|
||||
{
|
||||
throw new IntegrationEventRejectExeption(@event.Id);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user