Vesrione x test in prod Giacovelli

This commit is contained in:
Samuele Locatelli
2022-05-23 20:32:41 +02:00
parent 9f7e7a1660
commit 60c4e6bd84
7 changed files with 140 additions and 20 deletions
+5
View File
@@ -514,6 +514,11 @@ namespace IOB_UT_NEXT
/// </summary>
SignIN,
/// <summary>
/// Salvataggio RawTransf (valori raw da decodificare a valle)
/// </summary>
RawTransf,
/// <summary>
/// Salvataggio UserLog (valori log attività utente)
/// </summary>
+25 -2
View File
@@ -118,8 +118,8 @@ namespace IOB_UT_NEXT
}
/// <summary>
/// Classe di base per trasferimento informazioni di tipo RawTransfer FixMe Todo Fare !!!
/// elimnare usando SDK MAPO
/// Classe di base per trasferimento informazioni di tipo RawTransfer
/// FixMe Todo Fare !!!: elimnare usando SDK MAPO
/// </summary>
public class BaseRawTransf
{
@@ -140,6 +140,16 @@ namespace IOB_UT_NEXT
/// </summary>
public rawTransfType mesType { get; set; } = rawTransfType.ND;
/// <summary>
/// Costruttore senza parametri
/// </summary>
public BaseRawTransf()
{
this.dataRif = DateTime.Now;
this.mesContent = "";
this.mesType = rawTransfType.ND;
}
/// <summary>
/// Costruttore oggetto
/// </summary>
@@ -156,6 +166,19 @@ namespace IOB_UT_NEXT
#endregion Public Properties
}
/// <summary>
/// Array valori tipo BaseRawTransf inviati come JSon
/// FixMe Todo Fare !!!: elimnare usando SDK MAPO
/// </summary>
public class rawTransfJsonPayload
{
#region Public Properties
public List<BaseRawTransf> rawTransfData { get; set; }
#endregion Public Properties
}
/// <summary>
/// Cache a tempo valori INT
/// </summary>
+1 -1
View File
@@ -1168,7 +1168,7 @@ namespace IOB_WIN_NEXT
cpuType = fIni.ReadString("CNC", "CPUTYPE", ""),
rack = (short)fIni.ReadInteger("CNC", "RACK", 0),
slot = (short)fIni.ReadInteger("CNC", "SLOT", 0),
serverData = new serverMapo(fIni.ReadString("SERVER", "MPIP", "::1"), fIni.ReadString("SERVER", "MPURL", "/MP/IO"), fIni.ReadString("SERVER", "CMDBASE", "/IOB/input/"), fIni.ReadString("SERVER", "CMDFLOG", "/IOB/flog/"), fIni.ReadString("SERVER", "CMDULOG", "/IOB/ulog/"), fIni.ReadString("SERVER", "CMDALIVE", "/"), fIni.ReadString("SERVER", "CMDENABLED", "/"), fIni.ReadString("SERVER", "CMDREBO", "/"), fIni.ReadString("SERVER", "CMD_ODL_STARTED", "/IOB/getCurrOdlStart/"), fIni.ReadString("SERVER", "CLI_INST", "SW_CLI"), fIni.ReadString("SERVER", "CMD_FORCLE_SPLIT_ODL", "/IOB/forceSplitOdlFull/")),
serverData = new serverMapo(fIni.ReadString("SERVER", "MPIP", "::1"), fIni.ReadString("SERVER", "MPURL", "/MP/IO"), fIni.ReadString("SERVER", "CMDBASE", "/IOB/input/"), fIni.ReadString("SERVER", "CMDFLOG", "/IOB/flog/"), fIni.ReadString("SERVER", "CMDULOG", "/IOB/ulog/"), fIni.ReadString("SERVER", "CMDALIVE", "/"), fIni.ReadString("SERVER", "CMDENABLED", "/"), fIni.ReadString("SERVER", "CMDREBO", "/"), fIni.ReadString("SERVER", "CMD_ODL_STARTED", "/IOB/getCurrOdlStart/"), fIni.ReadString("SERVER", "CLI_INST", "SW_CLI"), fIni.ReadString("SERVER", "CMD_FORCLE_SPLIT_ODL", "/IOB/forceSplitOdlFull/"), fIni.ReadString("SERVER", "CMDRAWTRANSF", "/IOB/rawTransfJson/")),
MAX_COUNTER_BLINK = Convert.ToInt32(fIni.ReadString("BLINK", "MAX_COUNTER_BLINK", "1")),
BLINK_FILT = Convert.ToInt32(fIni.ReadString("BLINK", "BLINK_FILT", "0")),
TCMaxDelayFactor = Convert.ToDouble(fIni.ReadString("OPTPAR", "TC_MAX_TC_FACTOR", "1.2").Replace(".", ",")),
@@ -19,6 +19,7 @@ MPIP=http://192.168.1.14
MPURL=/MP/IO
CMDBASE=/IOB/input/
CMDFLOG=/IOB/flog/
CMDRAWTRANSF=/IOB/rawTransfJson/
CMDALIVE=/IOB
CMDENABLED=/IOB/enabled/
CMDADV1=?valore=
+7 -1
View File
@@ -147,7 +147,7 @@ namespace IOB_WIN_NEXT
/// <param name="CMDREBO_">Comando x reboot</param>
/// <param name="CMD_ODL_STARTED_">Comando x check data avvio ODL</param>
/// <param name="CMD_FORCLE_SPLIT_ODL_">Comando x forzare split ODL</param>
public serverMapo(string MPIP_, string MPURL_ = "/MP/IO", string CMDBASE_ = "/IOB/input/", string CMDFLOG_ = "/IOB/flog/", string CMDULOG_ = "/IOB/ulog/", string CMDALIVE_ = "IOB", string CMDENABLED_ = "/IOB/enabled/", string CMDREBO_ = "/sendReboot.aspx?idxMacchina=", string CMD_ODL_STARTED_ = "/IOB/getCurrOdlStart/", string CLI_INST_ = "SteamWare", string CMD_FORCLE_SPLIT_ODL_ = "/IOB/forceSplitOdlFull/", string CMD_IDLE_TIME_ = "/IOB/getIdlePeriod/")
public serverMapo(string MPIP_, string MPURL_ = "/MP/IO", string CMDBASE_ = "/IOB/input/", string CMDFLOG_ = "/IOB/flog/", string CMDULOG_ = "/IOB/ulog/", string CMDALIVE_ = "IOB", string CMDENABLED_ = "/IOB/enabled/", string CMDREBO_ = "/sendReboot.aspx?idxMacchina=", string CMD_ODL_STARTED_ = "/IOB/getCurrOdlStart/", string CLI_INST_ = "SteamWare", string CMD_FORCLE_SPLIT_ODL_ = "/IOB/forceSplitOdlFull/", string CMD_IDLE_TIME_ = "/IOB/getIdlePeriod/", string CMDRAWTRANSFJSON_ = "/IOB/rawTransfJson/")
{
if (!string.IsNullOrEmpty(MPIP_))
{
@@ -160,6 +160,7 @@ namespace IOB_WIN_NEXT
MPURL = MPURL_;
CMDBASE = CMDBASE_;
CMDFLOG = CMDFLOG_;
CMDRAWTRANSF_JSON = CMDRAWTRANSFJSON_;
CMDULOG = CMDULOG_;
if (!string.IsNullOrEmpty(CMDBASE_))
{
@@ -241,6 +242,11 @@ namespace IOB_WIN_NEXT
/// </summary>
public string CMDULOG { get; set; } = "";
/// <summary>
/// comando base x Raw Transf LOG - salvataggio valori generici in modalità JSON payload come lista
/// </summary>
public string CMDRAWTRANSF_JSON { get; set; } = "";
/// <summary>
/// comando base x USER LOG - salvataggio parametri extra sistema MAPO in modalità JSON payload come lista
/// </summary>
+101 -9
View File
@@ -1117,6 +1117,11 @@ namespace IOB_WIN_NEXT
/// </summary>
public int counterSigIN { get; set; }
/// <summary>
/// Contatore x invio dati RawTransf
/// </summary>
public int counterRawTransf { get; set; }
/// <summary>
/// Contatore x invio dati UserLog
/// </summary>
@@ -2223,7 +2228,66 @@ namespace IOB_WIN_NEXT
}
}
// <summary>
/// <summary>
/// Processo la coda RawTransf...
/// </summary>
private void svuotaCodaRawTransf()
{
// verifico SE la coda abbia dei valori...
if (QueueRawTransf.Count > 0)
{
// invio pacchetto di dati (max da conf)
for (int i = 0; i < nMaxSend; i++)
{
// SE ho qualcosa in coda...
if (QueueRawTransf.Count > 0)
{
string currVal = "";
if (MPOnline)
{
if (IobOnline)
{
List<string> listaValori = new List<string>();
// se ho + di maxJsonData elementi --> invio un set di dati alla volta
if (QueueRawTransf.Count > maxJsonData)
{
// prendoi primi maxJsonDataValori
for (int j = 0; j < maxJsonData; j++)
{
QueueRawTransf.TryDequeue(out currVal);
listaValori.Add(currVal);
}
sendDataBlock(urlType.RawTransf, listaValori);
}
else
{
// invio in blocco
listaValori = QueueRawTransf.ToList();
// invio
sendDataBlock(urlType.RawTransf, listaValori);
// svuoto!
QueueRawTransf = new ConcurrentQueue<string>();
}
}
else
{
break;
}
}
else
{
break;
}
}
else
{
break;
}
}
}
}
/// <summary>
/// Processo la coda UserLog...
/// </summary>
private void svuotaCodaULog()
@@ -2313,6 +2377,7 @@ namespace IOB_WIN_NEXT
// invio con thread separato...
Task taskSigIN = Task.Run(() => svuotaCodaSignIN());
Task taskFLog = Task.Run(() => svuotaCodaFLog());
Task taskRawTransf = Task.Run(() => svuotaCodaRawTransf());
Task taskULog = Task.Run(() => svuotaCodaULog());
}
else
@@ -2327,6 +2392,8 @@ namespace IOB_WIN_NEXT
raiseRefresh(currDispData);
// gestione queue FluxLog (invio, display)
svuotaCodaFLog();
// coda RawTransf
svuotaCodaRawTransf();
// coda UserLog
svuotaCodaULog();
// refresh
@@ -3467,23 +3534,23 @@ namespace IOB_WIN_NEXT
if (maxQueueRawTransf > 0)
{
// se ho una coda superiore a max ammesso
if (QueueFLog.Count > maxQueueFLog)
if (QueueRawTransf.Count > maxQueueRawTransf)
{
// elimino valori iniziali fino a tornare al max ammesso...
while (QueueFLog.Count > maxQueueFLog)
while (QueueRawTransf.Count > maxQueueRawTransf)
{
string currVal = "";
QueueFLog.TryDequeue(out currVal);
lgInfo($"Eliminazione da coda FLog per superamento maxLengh: {currVal}");
QueueRawTransf.TryDequeue(out currVal);
lgInfo($"Eliminazione da coda RawTransf per superamento maxLengh: {currVal}");
}
}
}
// loggo!
lgTrace(string.Format("[QUEUE-FLOG] {0}", encodedVal));
counterFLog++;
if (counterFLog > 9999)
lgTrace(string.Format("[QUEUE-RTRANSF] {0}", encodedVal));
counterRawTransf++;
if (counterRawTransf > 9999)
{
counterFLog = 0;
counterRawTransf = 0;
}
}
@@ -4221,6 +4288,27 @@ namespace IOB_WIN_NEXT
}
break;
case urlType.RawTransf:
BaseRawTransf currRTData = new BaseRawTransf();
rawTransfJsonPayload fullRTObj = new rawTransfJsonPayload();
fullRTObj.rawTransfData = new List<BaseRawTransf>();
// inizio processando ogni valore
foreach (var item in elencoValori)
{
currRTData = JsonConvert.DeserializeObject<BaseRawTransf>(item);
fullRTObj.rawTransfData.Add(currRTData);
}
// conversione finale
try
{
answ = JsonConvert.SerializeObject(fullRTObj);
}
catch (Exception exc)
{
lgError($"RawTransf Errore in costruzione jsonPayload:{Environment.NewLine}{exc}");
}
break;
case urlType.ULog:
int numVal = 0;
int matrOp = 0;
@@ -5602,6 +5690,10 @@ namespace IOB_WIN_NEXT
tipoComando = cIobConf.serverData.CMDBASE_JSON;
break;
case urlType.RawTransf:
tipoComando = cIobConf.serverData.CMDRAWTRANSF_JSON;
break;
case urlType.ULog:
tipoComando = cIobConf.serverData.CMDULOG_JSON;
break;
-7
View File
@@ -117,13 +117,6 @@ namespace IOB_WIN_NEXT
// se devo inviare impacchetto dati
if (doSend)
{
#if false
// serializzo ed invio al sistema il risultato
string rawData = JsonConvert.SerializeObject(currBatch);
// invio come tipo "IcoelBatch"
Dictionary<IOB_UT_NEXT.rawTransfType, string> sendObj = new Dictionary<IOB_UT_NEXT.rawTransfType, string>();
sendObj.Add(IOB_UT_NEXT.rawTransfType.IcoelBatch, rawData);
#endif
// accodo per invio...
accodaRawData(IOB_UT_NEXT.rawTransfType.IcoelBatch, currBatch);
currBatchList = currBatch;