Backup: fix
This commit is contained in:
parent
b9c52c526e
commit
5d94113e23
@ -322,11 +322,16 @@ namespace ASC.Common.Threading
|
|||||||
services.TryAdd<DistributedTaskCacheNotify>();
|
services.TryAdd<DistributedTaskCacheNotify>();
|
||||||
services.TryAdd<DistributedTaskQueueOptionsManager>();
|
services.TryAdd<DistributedTaskQueueOptionsManager>();
|
||||||
services.TryAdd<DistributedTaskQueue>();
|
services.TryAdd<DistributedTaskQueue>();
|
||||||
services.TryAdd<T>();
|
|
||||||
|
var type = typeof(T);
|
||||||
|
if (!type.IsAbstract)
|
||||||
|
{
|
||||||
|
services.TryAdd<T>();
|
||||||
|
}
|
||||||
|
|
||||||
services.TryAddSingleton<IConfigureOptions<DistributedTaskQueue>, ConfigureDistributedTaskQueue>();
|
services.TryAddSingleton<IConfigureOptions<DistributedTaskQueue>, ConfigureDistributedTaskQueue>();
|
||||||
|
|
||||||
_ = services.Configure<DistributedTaskQueue>(typeof(T).Name, r =>
|
_ = services.Configure<DistributedTaskQueue>(type.Name, r =>
|
||||||
{
|
{
|
||||||
r.MaxThreadsCount = maxThreadsCount;
|
r.MaxThreadsCount = maxThreadsCount;
|
||||||
//r.errorCount = 1;
|
//r.errorCount = 1;
|
||||||
|
@ -73,7 +73,7 @@ namespace ASC.Data.Backup.Service
|
|||||||
FactoryProgressItem factoryProgressItem)
|
FactoryProgressItem factoryProgressItem)
|
||||||
{
|
{
|
||||||
Log = options.CurrentValue;
|
Log = options.CurrentValue;
|
||||||
ProgressQueue = progressQueue.Get<BackupProgressItem>();
|
ProgressQueue = progressQueue.Get<BaseBackupProgressItem>();
|
||||||
CacheBackupProgress = cacheBackupProgress;
|
CacheBackupProgress = cacheBackupProgress;
|
||||||
FactoryProgressItem = factoryProgressItem;
|
FactoryProgressItem = factoryProgressItem;
|
||||||
}
|
}
|
||||||
@ -314,6 +314,16 @@ namespace ASC.Data.Backup.Service
|
|||||||
public abstract BackupProgressItemEnum BackupProgressItemEnum { get; }
|
public abstract BackupProgressItemEnum BackupProgressItemEnum { get; }
|
||||||
|
|
||||||
public abstract object Clone();
|
public abstract object Clone();
|
||||||
|
|
||||||
|
protected ILog Log { get; set; }
|
||||||
|
|
||||||
|
protected IServiceProvider ServiceProvider { get; set; }
|
||||||
|
|
||||||
|
public BaseBackupProgressItem(IOptionsMonitor<ILog> options, IServiceProvider serviceProvider)
|
||||||
|
{
|
||||||
|
Log = options.CurrentValue;
|
||||||
|
ServiceProvider = serviceProvider;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Transient]
|
[Transient]
|
||||||
@ -321,6 +331,10 @@ namespace ASC.Data.Backup.Service
|
|||||||
{
|
{
|
||||||
private const string ArchiveFormat = "tar.gz";
|
private const string ArchiveFormat = "tar.gz";
|
||||||
|
|
||||||
|
public BackupProgressItem(IOptionsMonitor<ILog> options, IServiceProvider serviceProvider) : base(options, serviceProvider)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override BackupProgressItemEnum BackupProgressItemEnum { get => BackupProgressItemEnum.Backup; }
|
public override BackupProgressItemEnum BackupProgressItemEnum { get => BackupProgressItemEnum.Backup; }
|
||||||
|
|
||||||
private bool IsScheduled { get; set; }
|
private bool IsScheduled { get; set; }
|
||||||
@ -334,14 +348,6 @@ namespace ASC.Data.Backup.Service
|
|||||||
private string CurrentRegion { get; set; }
|
private string CurrentRegion { get; set; }
|
||||||
private Dictionary<string, string> ConfigPaths { get; set; }
|
private Dictionary<string, string> ConfigPaths { get; set; }
|
||||||
private int Limit { get; set; }
|
private int Limit { get; set; }
|
||||||
private ILog Log { get; set; }
|
|
||||||
private IServiceProvider ServiceProvider { get; set; }
|
|
||||||
|
|
||||||
public BackupProgressItem(IServiceProvider serviceProvider, IOptionsMonitor<ILog> options)
|
|
||||||
{
|
|
||||||
Log = options.CurrentValue;
|
|
||||||
ServiceProvider = serviceProvider;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Init(BackupSchedule schedule, bool isScheduled, string tempFolder, int limit, string currentRegion, Dictionary<string, string> configPaths)
|
public void Init(BackupSchedule schedule, bool isScheduled, string tempFolder, int limit, string currentRegion, Dictionary<string, string> configPaths)
|
||||||
{
|
{
|
||||||
@ -481,6 +487,10 @@ namespace ASC.Data.Backup.Service
|
|||||||
[Transient]
|
[Transient]
|
||||||
public class RestoreProgressItem : BaseBackupProgressItem
|
public class RestoreProgressItem : BaseBackupProgressItem
|
||||||
{
|
{
|
||||||
|
public RestoreProgressItem(IOptionsMonitor<ILog> options, IServiceProvider serviceProvider) : base(options, serviceProvider)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override BackupProgressItemEnum BackupProgressItemEnum { get => BackupProgressItemEnum.Restore; }
|
public override BackupProgressItemEnum BackupProgressItemEnum { get => BackupProgressItemEnum.Restore; }
|
||||||
public BackupStorageType StorageType { get; set; }
|
public BackupStorageType StorageType { get; set; }
|
||||||
public string StoragePath { get; set; }
|
public string StoragePath { get; set; }
|
||||||
@ -490,16 +500,7 @@ namespace ASC.Data.Backup.Service
|
|||||||
private string CurrentRegion { get; set; }
|
private string CurrentRegion { get; set; }
|
||||||
private string UpgradesPath { get; set; }
|
private string UpgradesPath { get; set; }
|
||||||
private Dictionary<string, string> ConfigPaths { get; set; }
|
private Dictionary<string, string> ConfigPaths { get; set; }
|
||||||
private ILog Log { get; set; }
|
|
||||||
private IServiceProvider ServiceProvider { get; set; }
|
|
||||||
|
|
||||||
public RestoreProgressItem(
|
|
||||||
IOptionsMonitor<ILog> options,
|
|
||||||
IServiceProvider serviceProvider)
|
|
||||||
{
|
|
||||||
Log = options.CurrentValue;
|
|
||||||
ServiceProvider = serviceProvider;
|
|
||||||
}
|
|
||||||
public void Init(StartRestoreRequest request, string tempFolder, string upgradesPath, string currentRegion, Dictionary<string, string> configPaths)
|
public void Init(StartRestoreRequest request, string tempFolder, string upgradesPath, string currentRegion, Dictionary<string, string> configPaths)
|
||||||
{
|
{
|
||||||
TenantId = request.TenantId;
|
TenantId = request.TenantId;
|
||||||
@ -628,6 +629,10 @@ namespace ASC.Data.Backup.Service
|
|||||||
[Transient]
|
[Transient]
|
||||||
public class TransferProgressItem : BaseBackupProgressItem
|
public class TransferProgressItem : BaseBackupProgressItem
|
||||||
{
|
{
|
||||||
|
public TransferProgressItem(IOptionsMonitor<ILog> options, IServiceProvider serviceProvider) : base(options, serviceProvider)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override BackupProgressItemEnum BackupProgressItemEnum { get => BackupProgressItemEnum.Transfer; }
|
public override BackupProgressItemEnum BackupProgressItemEnum { get => BackupProgressItemEnum.Transfer; }
|
||||||
public string TargetRegion { get; set; }
|
public string TargetRegion { get; set; }
|
||||||
public bool TransferMail { get; set; }
|
public bool TransferMail { get; set; }
|
||||||
@ -638,18 +643,7 @@ namespace ASC.Data.Backup.Service
|
|||||||
public Dictionary<string, string> ConfigPaths { get; set; }
|
public Dictionary<string, string> ConfigPaths { get; set; }
|
||||||
public string CurrentRegion { get; set; }
|
public string CurrentRegion { get; set; }
|
||||||
public int Limit { get; set; }
|
public int Limit { get; set; }
|
||||||
public ILog Log { get; set; }
|
|
||||||
private IServiceProvider ServiceProvider { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
public TransferProgressItem(
|
|
||||||
IOptionsMonitor<ILog> options,
|
|
||||||
IServiceProvider serviceProvider
|
|
||||||
)
|
|
||||||
{
|
|
||||||
Log = options.CurrentValue;
|
|
||||||
ServiceProvider = serviceProvider;
|
|
||||||
}
|
|
||||||
public void Init(
|
public void Init(
|
||||||
string targetRegion,
|
string targetRegion,
|
||||||
bool transferMail,
|
bool transferMail,
|
||||||
|
@ -50,6 +50,10 @@ namespace ASC.Data.Backup
|
|||||||
base.ConfigureServices(services);
|
base.ConfigureServices(services);
|
||||||
|
|
||||||
DIHelper.AddDistributedTaskQueueService<BaseBackupProgressItem>(1);
|
DIHelper.AddDistributedTaskQueueService<BaseBackupProgressItem>(1);
|
||||||
|
|
||||||
|
DIHelper.TryAdd<BackupProgressItem>();
|
||||||
|
DIHelper.TryAdd<RestoreProgressItem>();
|
||||||
|
DIHelper.TryAdd<TransferProgressItem>();
|
||||||
|
|
||||||
DIHelper.TryAdd<BackupServiceLauncher>();
|
DIHelper.TryAdd<BackupServiceLauncher>();
|
||||||
DIHelper.TryAdd<BackupController>();
|
DIHelper.TryAdd<BackupController>();
|
||||||
|
Loading…
Reference in New Issue
Block a user