Vesrione x test in prod Giacovelli
This commit is contained in:
@@ -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
@@ -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>
|
||||
|
||||
@@ -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=
|
||||
|
||||
@@ -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
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user