Completati metodi avvio/riavvio/conteggio/reset...

This commit is contained in:
Samuele E. Locatelli
2019-12-21 16:14:58 +01:00
parent 171d4290f6
commit 7720004979
2 changed files with 78 additions and 32 deletions
+77 -31
View File
@@ -22,6 +22,14 @@ namespace IOB_MAN
#endregion
/// <summary>
/// Totale processi avviati
/// </summary>
protected int numProcAvviati;
/// <summary>
/// Totale processi running
/// </summary>
protected int numProcRunning;
/// <summary>
/// Counter per verifica watchdog dei processi da riattivare...
/// </summary>
@@ -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;
}
}
/// <summary>
/// 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();
}
/// <summary>
/// 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<iobAdapt> item2rem = new List<iobAdapt>();
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}");
}
}
}
}
Vendored
+1 -1
View File
@@ -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'