From f98a32f700a14cb407fe7f65e10698c313455cc8 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Sun, 3 Nov 2019 13:18:12 +0100 Subject: [PATCH] Update x evitare continui tentativi se offline IOB --- IOB-WIN/IOB-WIN.csproj | 9 +++++ IOB-WIN/IobGeneric.cs | 80 +++++++++++++++++++++++++++--------------- Jenkinsfile | 2 +- 3 files changed, 62 insertions(+), 29 deletions(-) diff --git a/IOB-WIN/IOB-WIN.csproj b/IOB-WIN/IOB-WIN.csproj index 109dfae5..b8f74fc8 100644 --- a/IOB-WIN/IOB-WIN.csproj +++ b/IOB-WIN/IOB-WIN.csproj @@ -234,6 +234,15 @@ Always + + Always + + + Always + + + Always + Always diff --git a/IOB-WIN/IobGeneric.cs b/IOB-WIN/IobGeneric.cs index 086d26a1..859a2deb 100644 --- a/IOB-WIN/IobGeneric.cs +++ b/IOB-WIN/IobGeneric.cs @@ -34,6 +34,10 @@ namespace IOB_WIN /// public static DateTime dtVetoPing = DateTime.Now; /// + /// Indicazione VETO check status IOB x evitare loop troppo stretti... + /// + public static DateTime dtVetoCheckIOB = DateTime.Now; + /// /// Contapezzi attuale /// protected Int32 contapezzi; @@ -2087,9 +2091,15 @@ namespace IOB_WIN MPOnline = false; // imposto veto a 10 volte reinvio dati standard... dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 10); + utils.dtVetoSend = dtVetoPing; } } } + else + { + // altrimenti passo ultimo valore noto... + answ = MPOnline; + } return answ; } } @@ -2101,43 +2111,57 @@ namespace IOB_WIN get { bool answ = false; - if (DemoOut) + // controllo se ho veto al check... + if (dtVetoCheckIOB < DateTime.Now) { - answ = (QueueIN.Count + QueueFLog.Count >= nMaxSend); - } - else - { - try + if (DemoOut) { - // chiamo URL, se restituisce "OK" è enabled! - answ = (callUrl(urlIobEnabled, true) == "OK"); - } - catch - { } - } - // verifico SE è variato stato online/offline... - if (IobOnline != answ) - { - // se ORA sono online riporto... - if (answ) - { - lgInfo("IOB ONLINE for server MP/IO"); + answ = (QueueIN.Count + QueueFLog.Count >= nMaxSend); } else { - lgInfo("IOB OFFLINE for server MP/IO"); + try + { + // chiamo URL, se restituisce "OK" è enabled! + answ = (callUrl(urlIobEnabled, true) == "OK"); + // salvo status... + IobOnline = answ; + // se offline imposto veto check a 5 x tempo reinvio... + if (!answ) + { + dtVetoCheckIOB = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 5); + } + } + catch + { } + } + // verifico SE è variato stato online/offline... + if (IobOnline != answ) + { + // se ORA sono online riporto... + if (answ) + { + lgInfo("IOB ONLINE for server MP/IO"); + } + else + { + lgInfo("IOB OFFLINE for server MP/IO"); + } + } + // fix colore + if (answ) + { + parentForm.commSrvActive = 2; + } + else + { + parentForm.commSrvActive = 1; } - // salvo nuovo status... - IobOnline = answ; - } - // fix colore - if (answ) - { - parentForm.commSrvActive = 2; } else { - parentForm.commSrvActive = 1; + // altrimenti passo ultimo valore noto + answ = IobOnline; } return answ; } diff --git a/Jenkinsfile b/Jenkinsfile index 485327a9..d818ad0d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -16,7 +16,7 @@ pipeline { /* calcolo numero versione... diverso x branch MASTER/DEVELOP */ script { - withEnv(['NEXT_BUILD_NUMBER=485']) { + withEnv(['NEXT_BUILD_NUMBER=486']) { // env.versionNumber = VersionNumber(versionNumberString : '2.3.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true) env.versionNumber = VersionNumber(versionNumberString : '2.3.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}') env.APP_NAME = 'MAPO-IOB-WIN'