Merge branch 'develop'

This commit is contained in:
Samuele E. Locatelli
2020-02-21 11:52:14 +01:00
10 changed files with 133 additions and 11525 deletions
Binary file not shown.
Binary file not shown.
-48
View File
@@ -1,48 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="testSam.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<system.diagnostics>
<sources>
<!-- Questa sezione definisce la configurazione di registrazione per My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<!-- Per scrivere nel log eventi dell'applicazione, rimuovere il commento dalla sezione sottostante -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information"/>
</switches>
<sharedListeners>
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
<!-- Per scrivere nel log eventi dell'applicazione, rimuovere il commento dalla sezione sottostante e sostituire APPLICATION_NAME con il nome dell'applicazione -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="OPENcontrol"/>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://192.168.20.2:8080" binding="basicHttpBinding" bindingConfiguration="OPENcontrol" contract="OpenControl.OPENcontrolPortType" name="OPENcontrol"/>
</client>
</system.serviceModel>
<applicationSettings>
<testSam.My.MySettings>
<setting name="door_pro_WebReference_OPENcontrol" serializeAs="String">
<value>http://192.168.20.2:8080</value>
</setting>
<setting name="d_prod_WebReference_OPENcontrol" serializeAs="String">
<value>http://192.168.20.2:8080</value>
</setting>
</testSam.My.MySettings>
</applicationSettings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup></configuration>
-11418
View File
File diff suppressed because it is too large Load Diff
+3 -4
View File
@@ -6,10 +6,9 @@
<appSettings>
<add key="appName" value="IOB-MAN" />
<add key="appNameExt" value="IOB-WIN" />
<add key="checkPeriod" value="100" />
<add key="chekMult" value="7" />
<add key="watchDogMult" value="150" />
<add key="forceCheckMult" value="50" />
<add key="uiPeriod" value="100" />
<add key="checkPeriod" value="1000" />
<add key="forceCheckPeriod" value="15000" />
<add key="autoRestartTimeoutMin" value="15" />
<add key="autoStartProc" value="true" />
<add key="closeOnChildUpdate" value="true" />
+13
View File
@@ -55,6 +55,8 @@
this.btnRestartAll = new System.Windows.Forms.Button();
this.btnCloseAll = new System.Windows.Forms.Button();
this.dgvManagedItems = new System.Windows.Forms.DataGridView();
this.UI_Timer = new System.Windows.Forms.Timer(this.components);
this.forceCheckTimer = new System.Windows.Forms.Timer(this.components);
this.statusStrip1.SuspendLayout();
this.panel1.SuspendLayout();
this.menuStrip1.SuspendLayout();
@@ -341,6 +343,15 @@
this.dgvManagedItems.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvManagedItems_CellDoubleClick);
this.dgvManagedItems.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.dgvManagedItems_CellFormatting);
//
// UI_Timer
//
this.UI_Timer.Tick += new System.EventHandler(this.UI_Timer_Tick);
//
// forceCheckTimer
//
this.forceCheckTimer.Interval = 5000;
this.forceCheckTimer.Tick += new System.EventHandler(this.forceCheckTimer_Tick);
//
// IOBManPanel
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -398,6 +409,8 @@
private System.Windows.Forms.ToolStripStatusLabel lblVers;
private System.Windows.Forms.ToolStripStatusLabel lblApp;
private System.Windows.Forms.Button btnStartSel;
private System.Windows.Forms.Timer UI_Timer;
private System.Windows.Forms.Timer forceCheckTimer;
}
}
+109 -53
View File
@@ -46,21 +46,17 @@ namespace IOB_MAN
/// </summary>
protected int numProcRunning;
/// <summary>
/// Counter per verifica watchdog dei processi da riattivare...
/// Counter del timer di forceCheck
/// </summary>
protected int watchDogMult = 75;
/// <summary>
/// Counter x il force check status
/// </summary>
protected int forceCheckMult = 10;
/// <summary>
/// Counter per verifica processi (ogni volta che va a zero faccio vero check)
/// </summary>
protected int chekMult = 4;
protected int forceCheckPeriod = 5000;
/// <summary>
/// Counter del timer di base
/// </summary>
protected int checkPeriod = 200;
protected int checkPeriod = 1000;
/// <summary>
/// Counter del timer UI
/// </summary>
protected int uiPeriod = 200;
/// <summary>
/// Elenco ARGS (uno per child da avviare)
/// </summary>
@@ -86,32 +82,30 @@ namespace IOB_MAN
/// </summary>
protected bool checkRunning = false;
/// <summary>
/// Oggetto locker x evitare problemi timer
/// </summary>
private static object _locker = new object();
/// <summary>
/// Init classe
/// </summary>
public IOBManPanel()
{
InitializeComponent();
synchronizationContext = SynchronizationContext.Current;
myInit();
preInit();
loadConfig();
initTimers();
initControls();
updateStatus();
}
private void myInit()
private void initControls()
{
utils.lgInfo("Starting App");
lblApp.Text = $"{ConfigurationManager.AppSettings.Get("appName")}";
lblVers.Text = string.Format(" v.{0}", System.Reflection.Assembly.GetExecutingAssembly().GetName().Version);
// init prog bar
tsProgBar.Maximum = 100;
tsProgBar.Step = 4;
// gestione eventi binding source
ElencoIOB.AddingNew += ElencoIOB_AddingNew;
ElencoIOB.ListChanged += ElencoIOB_ListChanged;
// collego tab a binding
dgvManagedItems.DataSource = ElencoIOB;
loadConfig();
MainTimer.Interval = checkPeriod;
MainTimer.Start();
utils.lgInfo("Timer started");
if (utils.CRB("autoStartProc"))
{
@@ -120,6 +114,29 @@ namespace IOB_MAN
}
}
/// <summary>
/// Inizializzazione timers
/// </summary>
private void initTimers()
{
MainTimer.Interval = checkPeriod;
MainTimer.Start();
UI_Timer.Interval = uiPeriod;
UI_Timer.Start();
forceCheckTimer.Interval = forceCheckPeriod;
forceCheckTimer.Start();
}
private void preInit()
{
utils.lgInfo("Starting App");
lblApp.Text = $"{ConfigurationManager.AppSettings.Get("appName")}";
lblVers.Text = string.Format(" v.{0}", System.Reflection.Assembly.GetExecutingAssembly().GetName().Version);
// init prog bar
tsProgBar.Maximum = 100;
tsProgBar.Step = 4;
}
/// <summary>
/// Caricamento configurazione
/// </summary>
@@ -127,8 +144,8 @@ namespace IOB_MAN
{
ArgsList.Clear();
checkPeriod = utils.CRI("checkPeriod");
chekMult = utils.CRI("chekMult");
watchDogMult = utils.CRI("watchDogMult");
uiPeriod = utils.CRI("uiPeriod");
forceCheckPeriod = utils.CRI("forceCheckPeriod");
TargetExe = utils.CRS("targetExe");
TargetName = utils.CRS("appNameExt");
if (string.IsNullOrEmpty(TargetExe))
@@ -228,7 +245,7 @@ namespace IOB_MAN
if (!chkAutoRestart.Checked)
{
tOutAutocheck--;
txtTOutAutoCheck.Text = (tOutAutocheck / (1000 / (utils.CRI("checkPeriod") * utils.CRI("chekMult")))).ToString();
txtTOutAutoCheck.Text = (tOutAutocheck / (1000 / (utils.CRI("checkPeriod")))).ToString();
}
}
else
@@ -375,31 +392,47 @@ namespace IOB_MAN
/// <param name="e"></param>
private void MainTimer_Tick(object sender, EventArgs e)
{
updateProgBarAsync();
if (!checkRunning || forceCheckMult > 0)
if (!checkRunning)
{
forceCheckMult = utils.CRI("forceCheckMult");
checkProcessStatusAsync();
checkWatchdog();
//checkProcessStatusAsync();
try
{
Task result = checkProcessStatusAsync();
result.Wait();
}
catch (Exception exc)
{ }
}
else
}
private void forceCheckTimer_Tick(object sender, EventArgs e)
{
if (!checkRunning)
{
forceCheckMult--;
//checkProcessStatusAsync();
try
{
Task result = checkProcessStatusAsync();
result.Wait();
}
catch (Exception exc)
{ }
}
checkWatchdog();
}
private void UI_Timer_Tick(object sender, EventArgs e)
{
Task result = updateProgBarAsync();
result.Wait();
}
/// <summary>
/// Controllo periodico dei processi DA RIATTIVARE
/// </summary>
private void checkWatchdog()
{
watchDogMult--;
if (watchDogMult < 0)
{
watchDogMult = utils.CRI("watchDogMult");
processAutoRestart();
// aggiorno datagrid!
dgvManagedItems.Invalidate();
}
processAutoRestart();
// aggiorno datagrid!
dgvManagedItems.Invalidate();
}
/// <summary>
/// Effettua processing autorestart
@@ -447,18 +480,32 @@ namespace IOB_MAN
/// </summary>
private async Task checkProcessStatusAsync()
{
chekMult--;
if (chekMult < 0)
var hasLock = false;
try
{
// reset variabili appoggio
chekMult = utils.CRI("chekMult");
checkRunning = true;
// eseguo task!
//var taskRes = Task.Run(() => checkRunningchild());
//taskRes.Wait();
await Task.Run(() => checkRunningchild()).ConfigureAwait(false);
updateStatus();
checkRunning = false;
Monitor.TryEnter(_locker, ref hasLock);
if (!hasLock)
{
return;
}
if (!checkRunning)
{
// reset variabili appoggio
checkRunning = true;
// eseguo task!
//var taskRes = Task.Run(() => checkRunningchild());
//taskRes.Wait();
await Task.Run(() => checkRunningchild()).ConfigureAwait(false);
updateStatus();
checkRunning = false;
}
}
finally
{
if (hasLock)
{
Monitor.Exit(_locker);
}
}
}
@@ -546,7 +593,16 @@ namespace IOB_MAN
closeAllChild(true);
Thread.Sleep(500);
closeAllChild(true);
closeTimers();
}
private void closeTimers()
{
MainTimer.Dispose();
forceCheckTimer.Dispose();
UI_Timer.Dispose();
}
/// <summary>
/// Chiude tutti i child
/// </summary>
@@ -823,14 +879,14 @@ namespace IOB_MAN
private void chkAutoRestart_CheckedChanged(object sender, EventArgs e)
{
// se tolgo autorestart --> imposto NUOVA scadenza x forzare check
tOutAutocheck = 60 * utils.CRI("autoRestartTimeoutMin") * (1000 / (utils.CRI("checkPeriod") * utils.CRI("chekMult")));
tOutAutocheck = 60 * utils.CRI("autoRestartTimeoutMin") * (1000 / (utils.CRI("checkPeriod")));
// fa subito controllo riavvio...
processAutoRestart();
}
private void btnMoreTOut_Click(object sender, EventArgs e)
{
tOutAutocheck += 60 * utils.CRI("autoRestartTimeoutMin") * (1000 / (utils.CRI("checkPeriod") * utils.CRI("chekMult")));
tOutAutocheck += 60 * utils.CRI("autoRestartTimeoutMin") * (1000 / (utils.CRI("checkPeriod")));
}
private void txtTOutAutoCheck_TextChanged(object sender, EventArgs e)
+6
View File
@@ -126,6 +126,12 @@
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>420, 17</value>
</metadata>
<metadata name="UI_Timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>535, 17</value>
</metadata>
<metadata name="forceCheckTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>634, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
+1 -1
View File
@@ -10,7 +10,7 @@ namespace IOB_MAN
/// </summary>
protected DateTime scadIobStatus = DateTime.Now;
/// <summary>
///Ultimo status IOB letto
/// Ultimo status IOB letto
/// </summary>
protected IobWinStatus lastIobStatus { get; set; }
/// <summary>
Vendored
+1 -1
View File
@@ -9,7 +9,7 @@ pipeline {
steps {
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
script {
withEnv(['NEXT_BUILD_NUMBER=669']) {
withEnv(['NEXT_BUILD_NUMBER=670']) {
// env.versionNumber = VersionNumber(versionNumberString : '3.0.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true)
env.versionNumber = VersionNumber(versionNumberString : '3.0.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
env.APP_NAME = 'MAPO-IOB-WIN'