diff --git a/MP.MONO.ALL.sln b/MP.MONO.ALL.sln index 3a89628..81549ad 100644 --- a/MP.MONO.ALL.sln +++ b/MP.MONO.ALL.sln @@ -17,6 +17,16 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MP.MONO.ANALYZER", "MP.MONO EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MP.MONO.ADAPTER", "MP.MONO.ADAPTER\MP.MONO.ADAPTER.csproj", "{873736BA-CDB6-4CE5-A340-6D904C11C07C}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Resources", "Resources", "{78533B62-E69F-4A5F-974A-D370FDCB5CF5}" + ProjectSection(SolutionItems) = preProject + Resources\ChangeLog-original.html = Resources\ChangeLog-original.html + Resources\ChangeLog.html = Resources\ChangeLog.html + Resources\logoSteamware.png = Resources\logoSteamware.png + Resources\manifest-original.xml = Resources\manifest-original.xml + Resources\manifest.xml = Resources\manifest.xml + Resources\VersNum.txt = Resources\VersNum.txt + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU diff --git a/MP.MONO.DECODER/Program.cs b/MP.MONO.DECODER/Program.cs index c206540..1227399 100644 --- a/MP.MONO.DECODER/Program.cs +++ b/MP.MONO.DECODER/Program.cs @@ -83,6 +83,8 @@ AlarmsManager alarmsMan = new AlarmsManager(); // inizializzo gestione messagePipe da Redis x allarmi MessagePipe alarmsPipe = new MessagePipe(redisConn, Constants.ALARM_M_QUEUE); MessagePipe alarmsValPipe = new MessagePipe(redisConn, Constants.ALARM_ACT_QUEUE); +// datetime dell'inizio esecuzione task... x usare un semaforo di veto doppia esecuzione entro 30 sec +DateTime lastExecAlarms = DateTime.Now.AddHours(-1); // registro gestione eventi alarmsValPipe.EA_NewMessage += AlarmsValPipe_EA_NewMessage; @@ -93,6 +95,8 @@ ParamsManager paramMan = new ParamsManager(); // inizializzo gestione messagePipe da Redis x allarmi MessagePipe paramsPipe = new MessagePipe(redisConn, Constants.PARAMS_M_QUEUE); MessagePipe paramsValPipe = new MessagePipe(redisConn, Constants.PARAMS_ACT_QUEUE); +// datetime dell'inizio esecuzione task... x usare un semaforo di veto doppia esecuzione entro 30 sec +DateTime lastExecParams = DateTime.Now.AddHours(-1); // registro gestione eventi paramsValPipe.EA_NewMessage += ParamsValPipe_EA_NewMessage; @@ -138,6 +142,7 @@ void AlarmsValPipe_EA_NewMessage(object? sender, EventArgs e) // conversione on-the-fly List --> allarmi if (!string.IsNullOrEmpty(currArgs.newMessage)) { + DateTime adesso = DateTime.Now; try { // verifico codici allarmi ricevuti @@ -181,7 +186,7 @@ void AlarmsValPipe_EA_NewMessage(object? sender, EventArgs e) AlarmLogModel newAlarm = new AlarmLogModel() { MachineId = MachineId, - DtRif = DateTime.Now, + DtRif = adesso, MemAddress = bankVal.Key, Index = alarmData != null ? alarmData.index : 0, Status = alarmData != null ? (uint)bankVal.Value & alarmData.silenceMask[0] & alarmData.disableMask[0] : (uint)bankVal.Value, @@ -200,10 +205,15 @@ void AlarmsValPipe_EA_NewMessage(object? sender, EventArgs e) serAlarms = JsonConvert.SerializeObject(activeAlarmList); // invio sulla message pipeline corretta TUTTI gli allarmi serializzati alarmsPipe.saveAndSendMessage(Constants.ALARM_CURR_KEY, serAlarms); - if (dbController != null) + // verifico NON ci sia veto di scrittura... 60 sec... + if (adesso.Subtract(lastExecAlarms).TotalSeconds > 60) { - // salvo sul DB - _ = dbController.AlarmLogInsertMany(alarmLogList).Result; + lastExecAlarms = adesso; + if (dbController != null) + { + // salvo sul DB + _ = dbController.AlarmLogInsertMany(alarmLogList).Result; + } } } } @@ -222,6 +232,7 @@ void ParamsValPipe_EA_NewMessage(object? sender, EventArgs e) // conversione on-the-fly Dictionary --> parametri valorizzati (tra quelli configurati) if (!string.IsNullOrEmpty(currArgs.newMessage)) { + DateTime adesso = DateTime.Now; try { // verifico codici ricevuti @@ -251,14 +262,19 @@ void ParamsValPipe_EA_NewMessage(object? sender, EventArgs e) updatedParams.Add(currParam); } } - if (dbController != null) + // verifico NON ci sia veto di scrittura... 60 sec... + if (adesso.Subtract(lastExecParams).TotalSeconds > 60) { - // verifico x ogni parametro se sia completato il periodo di campionamento... - var params2save = paramMan.processData(paramsList, redisParamConf); - if (params2save.Count > 0) + lastExecParams = adesso; + if (dbController != null) { - // salvo sul DB - _ = dbController.DataLogInsertMany(params2save).Result; + // verifico x ogni parametro se sia completato il periodo di campionamento... + var params2save = paramMan.processData(paramsList, redisParamConf); + if (params2save.Count > 0) + { + // salvo sul DB + _ = dbController.DataLogInsertMany(params2save).Result; + } } } } diff --git a/MP.MONO.UI/Properties/PublishProfiles/IIS01.pubxml.user b/MP.MONO.UI/Properties/PublishProfiles/IIS01.pubxml.user index 257fe28..96459c2 100644 --- a/MP.MONO.UI/Properties/PublishProfiles/IIS01.pubxml.user +++ b/MP.MONO.UI/Properties/PublishProfiles/IIS01.pubxml.user @@ -7,6 +7,6 @@ by editing this MSBuild file. In order to learn more about this please visit htt AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAARwa+h3SucUCk0+IZCHMQsgAAAAACAAAAAAADZgAAwAAAABAAAADOPMd3758qI/y/dA1hJlk6AAAAAASAAACgAAAAEAAAALjI1Q4A+Na1SHTbn2iY4kQYAAAA+8wgMcZ+vEOXhrpk/ei4H4gSz/lppCy4FAAAADEgX6TTl06NoYYCkrCN2gRN2gDO - True|2022-03-18T07:13:40.4364579Z;True|2022-03-10T18:22:15.7066492+01:00; + True|2022-04-28T15:36:51.0633358Z;False|2022-04-28T17:36:18.9884778+02:00;True|2022-03-18T08:13:40.4364579+01:00;True|2022-03-10T18:22:15.7066492+01:00; \ No newline at end of file diff --git a/Resources/ChangeLog-original.html b/Resources/ChangeLog-original.html new file mode 100644 index 0000000..a523da2 --- /dev/null +++ b/Resources/ChangeLog-original.html @@ -0,0 +1,26 @@ + + MAPO-MONO +

Version: {{CURRENT-REL}}

+
Release Note: + +
+
+ +
+
+ © Egalware 2006-2022 +
+
+ \ No newline at end of file diff --git a/Resources/ChangeLog.html b/Resources/ChangeLog.html new file mode 100644 index 0000000..e64278e --- /dev/null +++ b/Resources/ChangeLog.html @@ -0,0 +1,27 @@ + + GPW - Gestione Presenze Web +

Versione: 3.0.2201.2614

+
Note di rilascio: + +
+
+ +
+
+ © Egalware 2006-2022 +
+
+ diff --git a/Resources/VersNum.txt b/Resources/VersNum.txt new file mode 100644 index 0000000..95b5616 --- /dev/null +++ b/Resources/VersNum.txt @@ -0,0 +1 @@ +3.0.2201.2614 diff --git a/Resources/logoSteamware.png b/Resources/logoSteamware.png new file mode 100644 index 0000000..0958b50 Binary files /dev/null and b/Resources/logoSteamware.png differ diff --git a/Resources/manifest-original.xml b/Resources/manifest-original.xml new file mode 100644 index 0000000..a9269ca --- /dev/null +++ b/Resources/manifest-original.xml @@ -0,0 +1,7 @@ + + + 1.0.0.0 + http://nexus.steamware.net/repository/SWS/{{DIRNAME}}/{{BRANCHNAME}}/{{PACKNAME}}.zip + http://nexus.steamware.net/repository/SWS/{{DIRNAME}}/{{BRANCHNAME}}/ChangeLog.html + false + diff --git a/Resources/manifest.xml b/Resources/manifest.xml new file mode 100644 index 0000000..81edf87 --- /dev/null +++ b/Resources/manifest.xml @@ -0,0 +1,7 @@ + + + 3.0.2201.2614 + http://nexus.steamware.net/repository/SWS/MAPO-MONO/stable/0/MAPO-MONO.UI.zip + http://nexus.steamware.net/repository/SWS/MAPO-MONO/stable/0/ChangeLog.html + false +