Aggiunta attesa random x evitare congestione in fase invio

This commit is contained in:
Samuele Locatelli
2022-05-12 18:30:06 +02:00
parent 494e64ce7c
commit ab48c5fb48
2 changed files with 31 additions and 0 deletions
+1
View File
@@ -20,6 +20,7 @@
<add key="pingMsTimeout" value="1500"/>
<add key="serverPingDisabled" value="false"/>
<add key="urlCallTOut" value="9999"/>
<add key="urlRandWait" value="200"/>
<!-- ciclo corto x invio a server: ms -->
<add key="timerIntMs" value="10"/>
<add key="fastCount" value="20"/>
+30
View File
@@ -196,6 +196,11 @@ namespace IOB_WIN_NEXT
/// </summary>
public bool adpRunning = false;
/// <summary>
/// Valore di attesa (random) dopo ogni invio x evitare congestione send...
/// </summary>
protected static int urlRandWait = 0;
/// <summary>
/// valore booleano di check se l'adapter STIA SALVANDO
/// </summary>
@@ -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<string> 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