conf cache aprametrica

This commit is contained in:
Samuele E. Locatelli
2020-10-21 17:19:13 +02:00
parent 39c13ec4fb
commit eca25db419
2 changed files with 19 additions and 5 deletions
+5 -3
View File
@@ -58,9 +58,11 @@ PZCOUNT_MODE=NONE
DISABLE_PZCOUNT=TRUE
ENABLE_DYN_DATA=TRUE
FORCE_DYN_DATA=TRUE
;ENABLE_SEND_PZC_BLOCK=TRUE
;MIN_SEND_PZC_BLOCK=0
;MAX_SEND_PZC_BLOCK=100
ENABLE_SEND_PZC_BLOCK=TRUE
MIN_SEND_PZC_BLOCK=0
MAX_SEND_PZC_BLOCK=1200
MAX_DELAY_SEC=15
CACHE_MULT=8
; CONF variabili da recuperare in WebPage (stato macchina, contatori, variabili, ...)
LUT_CONF=EM63.json
timerIntMs=10
+14 -2
View File
@@ -27,6 +27,11 @@ namespace IOB_WIN
/// </summary>
protected string appPath = Directory.GetCurrentDirectory();
/// <summary>
/// Moltiplicatore durata cache
/// </summary>
protected int cacheMult = 4;
/// <summary>
/// Oggetti decodificati da pagina
/// </summary>
@@ -60,6 +65,12 @@ namespace IOB_WIN
{
lgInfo("INIT IobFileEurom63");
appPath = Path.GetDirectoryName(Application.ExecutablePath);
string MAX_DELAY_SEC = getOptPar("MAX_DELAY_SEC");
string CACHE_MULT = getOptPar("CACHE_MULT");
int.TryParse(MAX_DELAY_SEC, out maxDelaySec);
int.TryParse(CACHE_MULT, out cacheMult);
#if DEBUG
maxDelaySec = 60 * 60 * 24;
#endif
@@ -87,6 +98,7 @@ namespace IOB_WIN
// imposto livellotornando indietro di 1 alla volta... senza andare in negativoS
actLevel = actLevel - 1;
actLevel = actLevel > 0 ? actLevel : 0;
lgInfo($"Sessione inattiva, {actLevel + 1} --> {actLevel}");
}
}
}
@@ -699,7 +711,7 @@ namespace IOB_WIN
}
// salvo in cache!
Last_CurrStatus.Value = currStatus;
Last_CurrStatus.ValidUntil = DateTime.Now.AddSeconds(maxDelaySec * 4);
Last_CurrStatus.ValidUntil = DateTime.Now.AddSeconds(maxDelaySec * cacheMult);
// ora verifico SE siano validi anche le dataora dei valori letti (< 20 sec ritardo da ora...)
string data = statusData[0].Trim();
@@ -775,7 +787,7 @@ namespace IOB_WIN
}
// salvo B_Input in cache!
Last_B_Input.Value = B_input;
Last_B_Input.ValidUntil = DateTime.Now.AddSeconds(maxDelaySec * 4);
Last_B_Input.ValidUntil = DateTime.Now.AddSeconds(maxDelaySec * cacheMult);
}
// se disponibile riporto B_Input precedente
else