Quota: check recalculate quota
This commit is contained in:
parent
120c9b3bdb
commit
56102771ee
@ -335,24 +335,15 @@ public class SettingsController : BaseSettingsController
|
||||
public void RecalculateQuota()
|
||||
{
|
||||
_permissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
_quotaSyncOperation.RunJob(_tenantManager.GetCurrentTenant());
|
||||
_quotaSyncOperation.RecalculateQuota(_tenantManager.GetCurrentTenant());
|
||||
}
|
||||
|
||||
//[HttpGet("checkrecalculatequota")]
|
||||
//public bool CheckRecalculateQuota()
|
||||
//{
|
||||
// PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
|
||||
// var task = quotaTasks.GetTasks().FirstOrDefault(t => t.GetProperty<int>(QuotaSync.IdKey) == Tenant.Id);
|
||||
|
||||
// if (task != null && task.Status == DistributedTaskStatus.Completed)
|
||||
// {
|
||||
// quotaTasks.RemoveTask(task.Id);
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// return task != null;
|
||||
//}
|
||||
[HttpGet("checkrecalculatequota")]
|
||||
public bool CheckRecalculateQuota()
|
||||
{
|
||||
_permissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
return _quotaSyncOperation.CheckRecalculateQuota(_tenantManager.GetCurrentTenant());
|
||||
}
|
||||
|
||||
[HttpGet("logo")]
|
||||
public object GetLogo()
|
||||
|
@ -43,7 +43,7 @@ public class QuotaSyncOperation
|
||||
|
||||
_progressQueue = queueFactory.CreateQueue(CUSTOM_DISTRIBUTED_TASK_QUEUE_NAME);
|
||||
}
|
||||
public void RunJob(Tenant tenant)
|
||||
public void RecalculateQuota(Tenant tenant)
|
||||
{
|
||||
var item = _progressQueue.GetAllTasks<QuotaSyncJob>().FirstOrDefault(t => t.TenantId == tenant.Id);
|
||||
if (item != null && item.IsCompleted)
|
||||
@ -62,6 +62,17 @@ public class QuotaSyncOperation
|
||||
item.PublishChanges();
|
||||
}
|
||||
|
||||
public bool CheckRecalculateQuota(Tenant tenant)
|
||||
{
|
||||
var item = _progressQueue.GetAllTasks<QuotaSyncJob>().FirstOrDefault(t => t.TenantId == tenant.Id);
|
||||
if (item != null && item.IsCompleted)
|
||||
{
|
||||
_progressQueue.DequeueTask(item.Id);
|
||||
return false;
|
||||
}
|
||||
|
||||
return item != null;
|
||||
}
|
||||
|
||||
public static class QuotaSyncOperationExtension
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user