From ab48c5fb48311495c38c343f669ea17931ce6c65 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Thu, 12 May 2022 18:30:06 +0200 Subject: [PATCH] Aggiunta attesa random x evitare congestione in fase invio --- IOB-WIN-NEXT/App.config | 1 + IOB-WIN-NEXT/IobGeneric.cs | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/IOB-WIN-NEXT/App.config b/IOB-WIN-NEXT/App.config index bb1a3721..820f073c 100644 --- a/IOB-WIN-NEXT/App.config +++ b/IOB-WIN-NEXT/App.config @@ -20,6 +20,7 @@ + diff --git a/IOB-WIN-NEXT/IobGeneric.cs b/IOB-WIN-NEXT/IobGeneric.cs index 753f7cde..74a0030e 100644 --- a/IOB-WIN-NEXT/IobGeneric.cs +++ b/IOB-WIN-NEXT/IobGeneric.cs @@ -196,6 +196,11 @@ namespace IOB_WIN_NEXT /// public bool adpRunning = false; + /// + /// Valore di attesa (random) dopo ogni invio x evitare congestione send... + /// + protected static int urlRandWait = 0; + /// /// valore booleano di check se l'adapter STIA SALVANDO /// @@ -2072,6 +2077,9 @@ namespace IOB_WIN_NEXT lastAlarm = ""; doStartMemDump = utils.CRB("doStartMemDump"); doSampleMemory = utils.CRB("doSampleMemory"); + // fix url wait random... + urlRandWait = utils.CRI("urlRandWait"); + // svuoto code se richiesto if (resetQueue) { @@ -3274,11 +3282,21 @@ namespace IOB_WIN_NEXT //Task resp = utils.callUrlAsync(URL); //answ = resp.Result; answ = utils.callUrlAsync(URL); + if (urlRandWait > 0) + { + Random rnd = new Random(); + Thread.Sleep(rnd.Next(urlRandWait / 10, urlRandWait)); + } } // chiamata SOLO NORMALE SINCRONA... else { answ = utils.callUrl(URL); + if (urlRandWait > 0) + { + Random rnd = new Random(); + Thread.Sleep(rnd.Next(urlRandWait / 10, urlRandWait)); + } } return answ; } @@ -3297,11 +3315,21 @@ namespace IOB_WIN_NEXT if (doAsync) { answ = utils.callUrlAsync(URL, payload); + if (urlRandWait > 0) + { + Random rnd = new Random(); + Thread.Sleep(rnd.Next(urlRandWait / 10, urlRandWait)); + } } // chiamata SOLO NORMALE SINCRONA... else { answ = utils.callUrl(URL, payload); + if (urlRandWait > 0) + { + Random rnd = new Random(); + Thread.Sleep(rnd.Next(urlRandWait / 10, urlRandWait)); + } } return answ; } @@ -5014,6 +5042,8 @@ namespace IOB_WIN_NEXT { // chiamo URL! string answ = callUrlWithPayload(lastUrl, payload, doAsync); + // attesa opzionale se configurata + // loggo! lgInfo($"[SEND payload] TipoURL: {tipoUrl} | {listQueueVal.Count} records --> {answ}"); // se "OK" verde, altrimenti errore --> ROSSO