From 0169d9d8d16c334eccf0c389167904a8c8a17ea7 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Thu, 11 May 2023 11:55:10 +0200 Subject: [PATCH] Update gestione coda invio/ricezione messaggi --- .../Services/QueueDataService.cs | 29 ++++++++++++-- WebDoorCreator.UI/temp/Conf.yaml | 40 ++++++++++++++++--- 2 files changed, 60 insertions(+), 9 deletions(-) diff --git a/WebDoorCreator.Data/Services/QueueDataService.cs b/WebDoorCreator.Data/Services/QueueDataService.cs index 9142f3f..bc1c2ed 100644 --- a/WebDoorCreator.Data/Services/QueueDataService.cs +++ b/WebDoorCreator.Data/Services/QueueDataService.cs @@ -275,7 +275,7 @@ namespace WebDoorCreator.Data.Services Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); - // per prima cosa controllo se ho GIA' in coda qualcosa come richeiste + // per prima cosa controllo se ho GIA' in coda qualcosa come richieste long numPending = await NumRequestPending(); // se coda non vuota: cerco la DoorId corrente, se c'è sovrascrivo versione altrimenti @@ -309,6 +309,7 @@ namespace WebDoorCreator.Data.Services TimeSpan ts = stopWatch.Elapsed; Log.Debug($"SendCalcReq | DoorId: {DoorId} enqueued in: {ts.TotalMilliseconds} ms"); +#if false // FIXME TODO!!!! levare quando ci sarà il vero sw in esecuzione... // simulazione ritorno dati... @@ -328,7 +329,8 @@ namespace WebDoorCreator.Data.Services await Task.Delay(300); string retMess = $"{sDoorId}:{sCurrVers}"; // invio il FINTO messaggio di ritorno... - CalcDonePipe.saveAndSendMessage(Constants.LAST_CALC_DONE_KEY, retMess); + CalcDonePipe.saveAndSendMessage(Constants.LAST_CALC_DONE_KEY, retMess); +#endif return currVers; } @@ -399,7 +401,7 @@ namespace WebDoorCreator.Data.Services } /// - /// Invio elenco risultati elaborazioni (modalità boolean di esecuzione corretta) + /// Salvo elenco risultati elaborazioni (modalità boolean di esecuzione corretta) /// /// Risultati elaborazioni in formato CalcResultDTO /// @@ -407,6 +409,27 @@ namespace WebDoorCreator.Data.Services { bool answ = true; await Task.Delay(1); + if (calcResults != null && calcResults.Count > 0) + { + string sDoorId = ""; + string sCurrVers = ""; + foreach (var calcTask in calcResults) + { + // solo se risultato valido... + if (calcTask.Validated) + { + // salvo in area REDIS + var doorData = calcTask.DoorIdVers.Split("."); + sDoorId = doorData.Length > 0 ? doorData[0] : ""; + sCurrVers = doorData.Length > 0 ? doorData[0] : ""; + RedisKey currSvgKey = new RedisKey($"{Constants.CALC_REQ_SVG_CACHE}:{sDoorId}:{sCurrVers}"); + await redisDb.StringSetAsync(currSvgKey, calcTask.SvgGen, DayLongCache); + // invio il FINTO messaggio di ritorno... + string retMess = $"{sDoorId}:{sCurrVers}"; + CalcDonePipe.saveAndSendMessage(Constants.LAST_CALC_DONE_KEY, retMess); + } + } + } return answ; } diff --git a/WebDoorCreator.UI/temp/Conf.yaml b/WebDoorCreator.UI/temp/Conf.yaml index b62a767..2973a3b 100644 --- a/WebDoorCreator.UI/temp/Conf.yaml +++ b/WebDoorCreator.UI/temp/Conf.yaml @@ -14,13 +14,13 @@ order: line: date: 2023-05-10T00:00:00.0000000Z piece: DO_1 -properties: Oak +properties: Pine finishing: Varnishing size: width: 33.8125 height: 81.25 thickness: 1.75 -swing: LH +swing: RH secure: UP material: wood profiles: @@ -41,10 +41,38 @@ profiles: machining: ON overmaterial: 0.1 hardware: - ept: - - template: Generic\StdEPT - ToptoCL: 15 - FacetoCL: 0.875 + flush_pulls: + - template: Generic\Circle + position: 35 + back_set: 5 + depth: 1 + face: secure + - template: Generic\Circle + position: 35 + back_set: 5 + depth: 1 + face: secure + + locks: + - template: Generic\DocMyTest5Bore.nge + position: 45.875 + back_set: 2.0 + offset_WS: 0.0 + side: lock_top + + hinges: + - template: Generic Conceiled\StdConHingeDeepR + ToptoCL: 4.875 + back_set: 0.125 + thickness: 0.25 + + groove: + - template: Generic\Groove + type: side + width: 0.6 + depth: 0.8 + offset_WS: 0 + side: bottom ---