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