From 74f8016fa035b0e5d7824a43ae2fc9a644eb0b5d Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Mon, 24 Oct 2022 16:27:10 +0200 Subject: [PATCH] Aggiunta cache redis alarm log --- MP.MONO.Core/Constants.cs | 1 + MP.MONO.Data/Controllers/MpDbController.cs | 13 +++++---- MP.MONO.UI/Data/CurrentDataService.cs | 32 +++++++++++++++++++--- MP.MONO.UI/MP.MONO.UI.csproj | 2 +- MP.MONO.UI/Resources/ChangeLog.html | 2 +- MP.MONO.UI/Resources/VersNum.txt | 2 +- MP.MONO.UI/Resources/manifest.xml | 2 +- 7 files changed, 40 insertions(+), 14 deletions(-) diff --git a/MP.MONO.Core/Constants.cs b/MP.MONO.Core/Constants.cs index d4750b8..531e269 100644 --- a/MP.MONO.Core/Constants.cs +++ b/MP.MONO.Core/Constants.cs @@ -85,6 +85,7 @@ namespace MP.MONO.Core //REDIS caching keys public static readonly string ALARM_REC = $"{BASE_HASH}:Current:AlarmsRecVal"; + public static readonly string ALARM_LOG = $"{BASE_HASH}:Current:AlarmsLogVal"; #endregion Public Fields diff --git a/MP.MONO.Data/Controllers/MpDbController.cs b/MP.MONO.Data/Controllers/MpDbController.cs index 943a529..4e3d963 100644 --- a/MP.MONO.Data/Controllers/MpDbController.cs +++ b/MP.MONO.Data/Controllers/MpDbController.cs @@ -123,14 +123,14 @@ namespace MP.MONO.Data.Controllers /// /// /// - public List AlarmLogGetFilt(int MachineId, int skipRec, int numRec) + public async Task> AlarmLogGetFilt(int MachineId, int skipRec, int numRec) { List dbResult = new List(); using (MapoMonoContext localDbCtx = new MapoMonoContext()) { try { - dbResult = localDbCtx + dbResult = await localDbCtx .DbSetAlarmLog .AsNoTracking() .Where(x => x.MachineId == MachineId) @@ -138,13 +138,14 @@ namespace MP.MONO.Data.Controllers .OrderByDescending(x => x.AlarmLogId) .Skip(skipRec) .Take(numRec) - .ToList(); + .ToListAsync(); } catch (Exception exc) { Log.Error($"Eccezione durante AlarmLogGetFilt{Environment.NewLine}{exc}"); } } + //await Task.Delay(1); return dbResult; } @@ -332,14 +333,14 @@ namespace MP.MONO.Data.Controllers /// /// /// - public List AlarmRecGetFilt(int MachineId, int skipRec, int numRec) + public async Task> AlarmRecGetFilt(int MachineId, int skipRec, int numRec) { List dbResult = new List(); using (MapoMonoContext localDbCtx = new MapoMonoContext()) { try { - dbResult = localDbCtx + dbResult = await localDbCtx .DbSetAlarmRec .AsNoTracking() .Where(x => x.MachineId == MachineId) @@ -348,7 +349,7 @@ namespace MP.MONO.Data.Controllers .OrderByDescending(x => x.DtStart) .Skip(skipRec) .Take(numRec) - .ToList(); + .ToListAsync(); } catch (Exception exc) { diff --git a/MP.MONO.UI/Data/CurrentDataService.cs b/MP.MONO.UI/Data/CurrentDataService.cs index aa929a2..fdb7481 100644 --- a/MP.MONO.UI/Data/CurrentDataService.cs +++ b/MP.MONO.UI/Data/CurrentDataService.cs @@ -7,9 +7,11 @@ using MP.MONO.Data.DbModels; using MP.MONO.Data.DTO; using Newtonsoft.Json; using NLog; +using Org.BouncyCastle.Bcpg.OpenPgp; using StackExchange.Redis; using System.ComponentModel.DataAnnotations; using System.Diagnostics; +using System.Diagnostics.Eventing.Reader; using System.Reflection.PortableExecutable; using static MP.MONO.Core.Enums; @@ -117,12 +119,34 @@ namespace MP.MONO.UI.Data /// public async Task> AlarmLogGetFilt(int machineId, int skipRec, int numRec) { + string source = "DB"; + List dbResult = new List(); Stopwatch stopWatch = new Stopwatch(); + string currKey = $"{Constants.ALARM_LOG}:{machineId}:{skipRec}:{numRec}"; stopWatch.Start(); - var dbResult = dbController.AlarmLogGetFilt(machineId, skipRec, numRec); + string rawData = await redisDb.StringGetAsync(currKey); + if (!string.IsNullOrEmpty(rawData)) + { + source = "REDIS"; + var tempResult = JsonConvert.DeserializeObject>(rawData); + if (tempResult == null) + { + dbResult = new List(); + } + else + { + dbResult = tempResult; + } + } + else + { + dbResult = await dbController.AlarmLogGetFilt(machineId, skipRec, numRec); + rawData = JsonConvert.SerializeObject(dbResult); + await redisDb.StringSetAsync(currKey, rawData, TimeSpan.FromMilliseconds(1000)); + } stopWatch.Stop(); TimeSpan ts = stopWatch.Elapsed; - Log.Trace($"Effettuata lettura da DB AlarmLogGetFilt: {ts.TotalMilliseconds} ms"); + Log.Debug($"AlarmLogGetFilt | {source} in : {ts.TotalMilliseconds} ms"); return await Task.FromResult(dbResult); } /// @@ -190,9 +214,9 @@ namespace MP.MONO.UI.Data } else { - dbResult = dbController.AlarmRecGetFilt(MachineId, skipRec, numRec); + dbResult = await dbController.AlarmRecGetFilt(MachineId, skipRec, numRec); rawData = JsonConvert.SerializeObject(dbResult); - await redisDb.StringSetAsync(currKey, rawData, TimeSpan.FromMilliseconds(500)); + await redisDb.StringSetAsync(currKey, rawData, TimeSpan.FromMilliseconds(1000)); } stopWatch.Stop(); TimeSpan ts = stopWatch.Elapsed; diff --git a/MP.MONO.UI/MP.MONO.UI.csproj b/MP.MONO.UI/MP.MONO.UI.csproj index 2fe9583..1e2675e 100644 --- a/MP.MONO.UI/MP.MONO.UI.csproj +++ b/MP.MONO.UI/MP.MONO.UI.csproj @@ -5,7 +5,7 @@ enable enable AnyCPU;x86;x64 - 1.2.2210.2415 + 1.2.2210.2416 diff --git a/MP.MONO.UI/Resources/ChangeLog.html b/MP.MONO.UI/Resources/ChangeLog.html index 1379587..7e65ea8 100644 --- a/MP.MONO.UI/Resources/ChangeLog.html +++ b/MP.MONO.UI/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MAPO-MONO -

Version: 1.2.2210.2415

+

Version: 1.2.2210.2416


Release Note:
  • diff --git a/MP.MONO.UI/Resources/VersNum.txt b/MP.MONO.UI/Resources/VersNum.txt index d57b9b2..c938d35 100644 --- a/MP.MONO.UI/Resources/VersNum.txt +++ b/MP.MONO.UI/Resources/VersNum.txt @@ -1 +1 @@ -1.2.2210.2415 +1.2.2210.2416 diff --git a/MP.MONO.UI/Resources/manifest.xml b/MP.MONO.UI/Resources/manifest.xml index 3504d22..51fac25 100644 --- a/MP.MONO.UI/Resources/manifest.xml +++ b/MP.MONO.UI/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.2.2210.2415 + 1.2.2210.2416 http://nexus.steamware.net/repository/SWS/MP.MONO.UI/stable/LAST/MP.Mon.zip http://nexus.steamware.net/repository/SWS/MP.MONO.UI/stable/LAST/ChangeLog.html false