diff --git a/IOB-MAN/IOBManPanel.cs b/IOB-MAN/IOBManPanel.cs
index 40283e65..19491696 100644
--- a/IOB-MAN/IOBManPanel.cs
+++ b/IOB-MAN/IOBManPanel.cs
@@ -22,6 +22,14 @@ namespace IOB_MAN
#endregion
+ ///
+ /// Totale processi avviati
+ ///
+ protected int numProcAvviati;
+ ///
+ /// Totale processi running
+ ///
+ protected int numProcRunning;
///
/// Counter per verifica watchdog dei processi da riattivare...
///
@@ -104,7 +112,20 @@ namespace IOB_MAN
private void updateStatus()
{
// aggiorno labels
- tsslNumProc.Text = $"Avviati {ElencoIOB.Count} processi child";
+ tsslNumProc.Text = $"Configurati {ArgsList.Count} processi | Avviati: {numProcAvviati} | Attivi: {numProcRunning}";
+ // colore da num proc...
+ if (numProcRunning == ArgsList.Count)
+ {
+ tsslNumProc.ForeColor = System.Drawing.Color.Green;
+ }
+ else if (numProcAvviati < ArgsList.Count)
+ {
+ tsslNumProc.ForeColor = System.Drawing.Color.DarkRed;
+ }
+ else
+ {
+ tsslNumProc.ForeColor = System.Drawing.Color.OrangeRed;
+ }
}
///
/// Chiama apertura + update status...
@@ -149,7 +170,8 @@ namespace IOB_MAN
utils.lgInfo($"Avviato child process per {item} | pid: {p.Id}");
}
-
+ numProcAvviati = ArgsList.Count;
+ numProcRunning = numProcAvviati;
#if false
string path = Application.StartupPath;
@@ -213,11 +235,12 @@ namespace IOB_MAN
{
// errore era già chiuso..
}
- // rimuovo da datasource
- ElencoIOB.RemoveAt(riga.Index);
+ // indico NON running su datasource
+ ((iobAdapt)ElencoIOB[riga.Index]).isRunning = false;
}
}
}
+ updateStatus();
}
///
/// Cerca nell'elenco il processo corrente
@@ -306,7 +329,7 @@ namespace IOB_MAN
{
chekMult = utils.CRI("chekMult");
checkRunningchild();
- showUpdate();
+ updateStatus();
}
}
@@ -327,6 +350,8 @@ namespace IOB_MAN
List item2rem = new List();
bool needRem = false;
+ numProcRunning = numProcAvviati;
+
// leggo 1 sola volta TUTTO elenco processi...
Process[] processList = Process.GetProcesses();
@@ -346,6 +371,7 @@ namespace IOB_MAN
{
item2rem.Add(item);
item.isRunning = false;
+ numProcRunning--;
}
else
{
@@ -361,11 +387,7 @@ namespace IOB_MAN
#endif
// aggiorno datagrid!
dgvManagedItems.Invalidate();
- }
-
- private void showUpdate()
- {
- // aggiorna visualizzazioni...
+ updateStatus();
}
private void IOBManPanel_FormClosing(object sender, FormClosingEventArgs e)
@@ -385,11 +407,25 @@ namespace IOB_MAN
foreach (var item in item2rem)
{
- Process p = Process.GetProcessById(item.pID);
- p.CloseMainWindow();
- ElencoIOB.Remove(item);
+ if (item.isRunning)
+ {
+ try
+ {
+ Process p = Process.GetProcessById(item.pID);
+ p.CloseMainWindow();
+ ElencoIOB.Remove(item);
+ }
+ catch
+ { }
+ }
}
+ // resetto elenco!
+ ElencoIOB.Clear();
+ numProcAvviati = 0;
+ numProcRunning = 0;
+ // update!
+ updateStatus();
}
private void dgvManagedItems_SelectionChanged(object sender, EventArgs e)
@@ -413,6 +449,7 @@ namespace IOB_MAN
private void button1_Click(object sender, EventArgs e)
{
closeAllChild();
+ updateStatus();
}
private void button2_Click(object sender, EventArgs e)
@@ -420,6 +457,7 @@ namespace IOB_MAN
// chiude tutto
closeAllChild();
apriChild();
+ updateStatus();
}
private void lblNumChild_Click(object sender, EventArgs e)
@@ -468,16 +506,20 @@ namespace IOB_MAN
{
foreach (iobAdapt item in ElencoIOB.List)
{
- try
+ if (item.isRunning)
{
- Process p = Process.GetProcessById(item.pID);
- // cerco e chiudo quelli che mi interessano...
- var windowsHandle = p.MainWindowHandle;
- ShowWindowAsync(windowsHandle, SW_SHOWMINIMIZED);
- }
- catch
- {
- // errore era già chiuso..
+ try
+ {
+ Process p = Process.GetProcessById(item.pID);
+ // cerco e chiudo quelli che mi interessano...
+ var windowsHandle = p.MainWindowHandle;
+ ShowWindowAsync(windowsHandle, SW_SHOWMINIMIZED);
+ }
+ catch (Exception exc)
+ {
+ // errore era già chiuso..
+ utils.lgError($"Errore in HIDE windows:{Environment.NewLine}{exc}");
+ }
}
}
}
@@ -486,16 +528,20 @@ namespace IOB_MAN
{
foreach (iobAdapt item in ElencoIOB.List)
{
- try
+ if (item.isRunning)
{
- Process p = Process.GetProcessById(item.pID);
- // cerco e chiudo quelli che mi interessano...
- var windowsHandle = p.MainWindowHandle;
- ShowWindowAsync(windowsHandle, SW_SHOWNORMAL);
- }
- catch
- {
- // errore era già chiuso..
+ try
+ {
+ Process p = Process.GetProcessById(item.pID);
+ // cerco e chiudo quelli che mi interessano...
+ var windowsHandle = p.MainWindowHandle;
+ ShowWindowAsync(windowsHandle, SW_SHOWNORMAL);
+ }
+ catch (Exception exc)
+ {
+ // errore era già chiuso..
+ utils.lgError($"Errore in SHOW windows:{Environment.NewLine}{exc}");
+ }
}
}
}
diff --git a/Jenkinsfile b/Jenkinsfile
index 3df230c4..f8ae983d 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -16,7 +16,7 @@ pipeline {
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
script {
- withEnv(['NEXT_BUILD_NUMBER=613']) {
+ withEnv(['NEXT_BUILD_NUMBER=615']) {
// 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'