bozza modifica con lista thread safe...
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<Platforms>AnyCPU;x86;x64</Platforms>
|
||||
<Version>1.2.2210.2222</Version>
|
||||
<Version>1.2.2210.2223</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<body>
|
||||
<i>MAPO-MONO</i>
|
||||
<h4>Version: 1.2.2210.2222</h4>
|
||||
<h4>Version: 1.2.2210.2223</h4>
|
||||
<br /> Release Note:
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
@@ -1 +1 @@
|
||||
1.2.2210.2222
|
||||
1.2.2210.2223
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<item>
|
||||
<version>1.2.2210.2222</version>
|
||||
<version>1.2.2210.2223</version>
|
||||
<url>http://nexus.steamware.net/repository/SWS/MP.MONO.ANALYZER/stable/LAST/MP.Mon.zip</url>
|
||||
<changelog>http://nexus.steamware.net/repository/SWS/MP.MONO.ANALYZER/stable/LAST/ChangeLog.html</changelog>
|
||||
<mandatory>false</mandatory>
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
<logger name="*" minlevel="Debug" writeTo="f" />
|
||||
-->
|
||||
<!--<logger name="Microsoft.*" maxlevel="Info" final="true" />-->
|
||||
<logger name="*" minlevel="Debug" writeTo="consoleTarget" />
|
||||
<logger name="*" minlevel="Info" writeTo="consoleTarget" />
|
||||
<logger name="*" minlevel="Info" writeTo="fileTarget" />
|
||||
</rules>
|
||||
</nlog>
|
||||
+14
-14
@@ -669,8 +669,6 @@ async void AlarmsValPipe_EA_NewMessage(object? sender, EventArgs e)
|
||||
// decodifico allarmi ricevuti
|
||||
var alarmListRaw = JsonConvert.DeserializeObject<List<string>>(currArgs.newMessage);
|
||||
|
||||
Log.Debug($"Ricezione update allarmi | count {alarmListRaw.Count}");
|
||||
|
||||
// effettuo selezione dei SOLI allarmi distinct (in caso di cambio posizione...)
|
||||
List<string> alarmList = new List<string>();
|
||||
if (alarmListRaw != null && alarmListRaw.Count > 0)
|
||||
@@ -681,6 +679,7 @@ async void AlarmsValPipe_EA_NewMessage(object? sender, EventArgs e)
|
||||
.OrderBy(x => x)
|
||||
.ToList();
|
||||
}
|
||||
Log.Info($"Ricezione update allarmi | {alarmListRaw.Count} --> {alarmList.Count}");
|
||||
|
||||
// salvo set allarmi correnti...
|
||||
setAlarms("LastReceived", alarmList);
|
||||
@@ -699,9 +698,12 @@ async void AlarmsValPipe_EA_NewMessage(object? sender, EventArgs e)
|
||||
}
|
||||
|
||||
// rileggo da REDIS la conf attuale allarmi già attivi da area ALARM_CURR_KEY
|
||||
|
||||
// FIXME TODO !!! usare una lista thread safe?!?!?
|
||||
List<string> lastAlarms = getAlarms("Sent");
|
||||
List<string> startedAlarms = new List<string>();
|
||||
List<string> ceasedAlarms = new List<string>();
|
||||
string serAlarms = "";
|
||||
|
||||
// ciclo x ogni allarme ricevuto x vedere se sia INIZIATO o vada filtrato x muted
|
||||
if (alarmList != null)
|
||||
@@ -753,6 +755,7 @@ async void AlarmsValPipe_EA_NewMessage(object? sender, EventArgs e)
|
||||
};
|
||||
alarmRecList.Add(newAlarmRec);
|
||||
startedAlarms.Add(currNewAlarm);
|
||||
lastAlarms.Add(currNewAlarm);
|
||||
needsWrite = true;
|
||||
}
|
||||
}
|
||||
@@ -767,6 +770,11 @@ async void AlarmsValPipe_EA_NewMessage(object? sender, EventArgs e)
|
||||
}
|
||||
}
|
||||
|
||||
// salvo
|
||||
serAlarms = JsonConvert.SerializeObject(lastAlarms);
|
||||
// invio sulla message pipeline corretta TUTTI gli allarmi serializzati
|
||||
alarmsSendPipe.saveAndSendMessage(Constants.ALARM_CURR_KEY, serAlarms);
|
||||
|
||||
// calcolo allarmi cessati...
|
||||
if (lastAlarms != null)
|
||||
{
|
||||
@@ -790,12 +798,6 @@ async void AlarmsValPipe_EA_NewMessage(object? sender, EventArgs e)
|
||||
}
|
||||
}
|
||||
|
||||
// se ho NUOVI allarmi iniziati li aggiungo all'ultimo elenco e invio + registro
|
||||
foreach (var item in startedAlarms)
|
||||
{
|
||||
lastAlarms.Add(item);
|
||||
}
|
||||
|
||||
Log.Debug($"Stato lastAlarms | count {lastAlarms.Count}");
|
||||
|
||||
// gli allarmi cessati avvio un task di verifica dopo periodo di blink
|
||||
@@ -811,8 +813,8 @@ async void AlarmsValPipe_EA_NewMessage(object? sender, EventArgs e)
|
||||
MemAddress = "ND",
|
||||
Index = 0,
|
||||
// usare alarmList o lastAlarms
|
||||
Status = (uint)lastAlarms.Count,
|
||||
ValDecoded = lastAlarms.Count > 0 ? string.Join(", ", lastAlarms) : "All OK"
|
||||
Status = (uint)alarmList.Count,
|
||||
ValDecoded = alarmList.Count > 0 ? string.Join(", ", alarmList) : "All OK"
|
||||
};
|
||||
alarmLogList.Add(newAlarmLog);
|
||||
}
|
||||
@@ -821,7 +823,7 @@ async void AlarmsValPipe_EA_NewMessage(object? sender, EventArgs e)
|
||||
{
|
||||
lastAlarms = lastAlarms.OrderBy(x => x).ToList();
|
||||
// serializzo l'elenco allarmi...
|
||||
string serAlarms = JsonConvert.SerializeObject(lastAlarms);
|
||||
serAlarms = JsonConvert.SerializeObject(lastAlarms);
|
||||
|
||||
// se vuoto metto controllo x chiusura
|
||||
if (lastAlarms.Count() == 0)
|
||||
@@ -831,9 +833,7 @@ async void AlarmsValPipe_EA_NewMessage(object? sender, EventArgs e)
|
||||
await checkCloseAllAlarm();
|
||||
});
|
||||
}
|
||||
#if false
|
||||
string serAlarms = JsonConvert.SerializeObject(alarmList);
|
||||
#endif
|
||||
|
||||
// invio sulla message pipeline corretta TUTTI gli allarmi serializzati
|
||||
alarmsSendPipe.saveAndSendMessage(Constants.ALARM_CURR_KEY, serAlarms);
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<Platforms>AnyCPU;x86;x64</Platforms>
|
||||
<Version>1.2.2210.2222</Version>
|
||||
<Version>1.2.2210.2223</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<body>
|
||||
<i>MAPO-MONO</i>
|
||||
<h4>Version: 1.2.2210.2222</h4>
|
||||
<h4>Version: 1.2.2210.2223</h4>
|
||||
<br /> Release Note:
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
@@ -1 +1 @@
|
||||
1.2.2210.2222
|
||||
1.2.2210.2223
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<item>
|
||||
<version>1.2.2210.2222</version>
|
||||
<version>1.2.2210.2223</version>
|
||||
<url>http://nexus.steamware.net/repository/SWS/MP.MONO.SIM/stable/LAST/MP.Mon.zip</url>
|
||||
<changelog>http://nexus.steamware.net/repository/SWS/MP.MONO.SIM/stable/LAST/ChangeLog.html</changelog>
|
||||
<mandatory>false</mandatory>
|
||||
|
||||
Reference in New Issue
Block a user