Merge branch 'develop' into bugfix/context-actions

This commit is contained in:
Ilya Oleshko 2021-05-19 12:28:32 +03:00
commit 60557cdfce
3 changed files with 34 additions and 31 deletions

View File

@ -322,11 +322,16 @@ namespace ASC.Common.Threading
services.TryAdd<DistributedTaskCacheNotify>();
services.TryAdd<DistributedTaskQueueOptionsManager>();
services.TryAdd<DistributedTaskQueue>();
var type = typeof(T);
if (!type.IsAbstract)
{
services.TryAdd<T>();
}
services.TryAddSingleton<IConfigureOptions<DistributedTaskQueue>, ConfigureDistributedTaskQueue>();
_ = services.Configure<DistributedTaskQueue>(typeof(T).Name, r =>
_ = services.Configure<DistributedTaskQueue>(type.Name, r =>
{
r.MaxThreadsCount = maxThreadsCount;
//r.errorCount = 1;

View File

@ -73,7 +73,7 @@ namespace ASC.Data.Backup.Service
FactoryProgressItem factoryProgressItem)
{
Log = options.CurrentValue;
ProgressQueue = progressQueue.Get<BackupProgressItem>();
ProgressQueue = progressQueue.Get<BaseBackupProgressItem>();
CacheBackupProgress = cacheBackupProgress;
FactoryProgressItem = factoryProgressItem;
}
@ -314,6 +314,16 @@ namespace ASC.Data.Backup.Service
public abstract BackupProgressItemEnum BackupProgressItemEnum { get; }
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]
@ -321,6 +331,10 @@ namespace ASC.Data.Backup.Service
{
private const string ArchiveFormat = "tar.gz";
public BackupProgressItem(IOptionsMonitor<ILog> options, IServiceProvider serviceProvider) : base(options, serviceProvider)
{
}
public override BackupProgressItemEnum BackupProgressItemEnum { get => BackupProgressItemEnum.Backup; }
private bool IsScheduled { get; set; }
@ -334,14 +348,6 @@ namespace ASC.Data.Backup.Service
private string CurrentRegion { get; set; }
private Dictionary<string, string> ConfigPaths { 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)
{
@ -481,6 +487,10 @@ namespace ASC.Data.Backup.Service
[Transient]
public class RestoreProgressItem : BaseBackupProgressItem
{
public RestoreProgressItem(IOptionsMonitor<ILog> options, IServiceProvider serviceProvider) : base(options, serviceProvider)
{
}
public override BackupProgressItemEnum BackupProgressItemEnum { get => BackupProgressItemEnum.Restore; }
public BackupStorageType StorageType { get; set; }
public string StoragePath { get; set; }
@ -490,16 +500,7 @@ namespace ASC.Data.Backup.Service
private string CurrentRegion { get; set; }
private string UpgradesPath { 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)
{
TenantId = request.TenantId;
@ -628,6 +629,10 @@ namespace ASC.Data.Backup.Service
[Transient]
public class TransferProgressItem : BaseBackupProgressItem
{
public TransferProgressItem(IOptionsMonitor<ILog> options, IServiceProvider serviceProvider) : base(options, serviceProvider)
{
}
public override BackupProgressItemEnum BackupProgressItemEnum { get => BackupProgressItemEnum.Transfer; }
public string TargetRegion { get; set; }
public bool TransferMail { get; set; }
@ -638,18 +643,7 @@ namespace ASC.Data.Backup.Service
public Dictionary<string, string> ConfigPaths { get; set; }
public string CurrentRegion { 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(
string targetRegion,
bool transferMail,

View File

@ -51,6 +51,10 @@ namespace ASC.Data.Backup
DIHelper.AddDistributedTaskQueueService<BaseBackupProgressItem>(1);
DIHelper.TryAdd<BackupProgressItem>();
DIHelper.TryAdd<RestoreProgressItem>();
DIHelper.TryAdd<TransferProgressItem>();
DIHelper.TryAdd<BackupServiceLauncher>();
DIHelper.TryAdd<BackupController>();
NotifyConfigurationExtension.Register(DIHelper);