Metodo reindex async x evitare timeout( maybe...)
This commit is contained in:
@@ -722,7 +722,7 @@ namespace MP.Data.Controllers
|
||||
/// <param name="minAvgFrag">def: 10</param>
|
||||
/// <param name="maxAvgFragReb">def: 50</param>
|
||||
/// <returns></returns>
|
||||
public bool ForceDbMaint(bool doExec, bool doUpdStat, bool doSave, int minPgCnt, int minAvgFrag, int maxAvgFragReb)
|
||||
public async Task<bool> ForceDbMaint(bool doExec, bool doUpdStat, bool doSave, int minPgCnt, int minAvgFrag, int maxAvgFragReb)
|
||||
{
|
||||
Log.Info($"Inizio ForceDbMaint");
|
||||
bool fatto = false;
|
||||
@@ -735,9 +735,9 @@ namespace MP.Data.Controllers
|
||||
var pMinAvgFrag = new SqlParameter("@min_avg_fragmentation_in_percent", minAvgFrag);
|
||||
var pMaxAvgFrag = new SqlParameter("@max_avg_fragmentation_per_rebuild", maxAvgFragReb);
|
||||
|
||||
var dbResult = dbCtx
|
||||
var dbResult = await dbCtx
|
||||
.Database
|
||||
.ExecuteSqlRaw("EXEC man.stp_Utility_Maintanance");
|
||||
.ExecuteSqlRawAsync("EXEC man.stp_Utility_Maintanance");
|
||||
//.ExecuteSqlRaw("EXEC man.stp_Utility_Maintanance @FlgExec, @FlgUpdStat, @FlgSave, @min_page_count, @min_avg_fragmentation_in_percent, @max_avg_fragmentation_per_rebuild", pFlgExec, pFlgUpdStat, pFlgSave, pMinPgCnt, pMinAvgFrag, pMaxAvgFrag);
|
||||
fatto = true;
|
||||
}
|
||||
|
||||
@@ -790,7 +790,7 @@ namespace MP.SPEC.Data
|
||||
/// <returns></returns>
|
||||
public async Task ForceDbMaint(bool doExec = true, bool doUpdStat = true, bool doSave = true, int minPgCnt = 1000, int minAvgFrag = 10, int maxAvgFragReb = 50)
|
||||
{
|
||||
dbController.ForceDbMaint(doExec, doUpdStat, doSave, minPgCnt, minAvgFrag, maxAvgFragReb);
|
||||
await dbController.ForceDbMaint(doExec, doUpdStat, doSave, minPgCnt, minAvgFrag, maxAvgFragReb);
|
||||
await FlushCacheFluxLog();
|
||||
}
|
||||
|
||||
|
||||
@@ -31,9 +31,14 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
||||
@if (isProcessing)
|
||||
{
|
||||
<ProgressDisplay RefreshInterval="200" Title="Data Maintenance" MaxVal="@MaxVal" CurrVal="@currVal" NextVal="@nextVal" ExpTimeMSec="@expTimeMsec"></ProgressDisplay>
|
||||
<LoadingData DisplaySize="LoadingData.CtrlSize.Large" DisplayMode="LoadingData.SpinMode.Growl"></LoadingData>
|
||||
}
|
||||
else if (isReindexing)
|
||||
{
|
||||
<LoadingData DisplaySize="LoadingData.CtrlSize.Large" DisplayMode="LoadingData.SpinMode.BounceLine"></LoadingData>
|
||||
}
|
||||
else
|
||||
|
||||
@@ -95,9 +95,11 @@ namespace MP.SPEC.Pages
|
||||
if (!await JSRuntime.InvokeAsync<bool>("confirm", "Manutenzione Database: si tratta di un operazione che può richiedere un tempo levato sei sicuro di voler procedere?"))
|
||||
return;
|
||||
|
||||
isProcessing = true;
|
||||
isReindexing = true;
|
||||
await InvokeAsync(StateHasChanged);
|
||||
await MDataServ.ForceDbMaint(true, true, true, 1000, 10, 50);
|
||||
isProcessing = false;
|
||||
isReindexing = false;
|
||||
await InvokeAsync(StateHasChanged);
|
||||
}
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
@@ -221,6 +223,7 @@ namespace MP.SPEC.Pages
|
||||
|
||||
private string idxMaccSel { get; set; } = "";
|
||||
private bool isProcessing { get; set; } = false;
|
||||
private bool isReindexing { get; set; } = false;
|
||||
|
||||
|
||||
protected double currVal = 0;
|
||||
|
||||
Reference in New Issue
Block a user