diff --git a/Maat.Data/Controllers/MsSqlController.cs b/Maat.Data/Controllers/MsSqlController.cs
index 620892b..f08af40 100644
--- a/Maat.Data/Controllers/MsSqlController.cs
+++ b/Maat.Data/Controllers/MsSqlController.cs
@@ -171,7 +171,10 @@ namespace Maat.Data.Controllers
}
catch (Exception exc)
{
- Log.Error($"{tName} | Eccezione in ExecuteSqlTask{Environment.NewLine}Call eseguita:{Environment.NewLine}{sqlCall}{Environment.NewLine}------- Stack Eccezione -------{Environment.NewLine}{exc}");
+ string excMsg = $"{tName} | Eccezione in ExecuteSqlTask{Environment.NewLine}Call eseguita:{Environment.NewLine}{sqlCall}{Environment.NewLine}------- Stack Eccezione -------{Environment.NewLine}{exc}";
+ callRes.ExecResult = -1;
+ callRes.TextResult = excMsg;
+ Log.Error(excMsg);
}
}
return callRes;
diff --git a/Maat.Data/DbModels/TaskListModel.cs b/Maat.Data/DbModels/TaskListModel.cs
index 037b0a7..69f845c 100644
--- a/Maat.Data/DbModels/TaskListModel.cs
+++ b/Maat.Data/DbModels/TaskListModel.cs
@@ -20,11 +20,21 @@ namespace Maat.Data.DbModels
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int TaskId { get; set; } = 0;
+ ///
+ /// Gruppo task (per gestione precedenze e semaforo exec)
+ ///
+ public int Group { get; set; } = 1;
+
///
/// Ordinale x esecuzione
///
public int Ordinal { get; set; } = 0;
+ ///
+ /// Stato Task abilitato / disabilitato
+ ///
+ public bool Enabled { get; set; } = false;
+
///
/// Nome Task
///
diff --git a/Maat.Data/Services/MsSqlTaskService.cs b/Maat.Data/Services/MsSqlTaskService.cs
index c29f86e..e85e98a 100644
--- a/Maat.Data/Services/MsSqlTaskService.cs
+++ b/Maat.Data/Services/MsSqlTaskService.cs
@@ -67,19 +67,45 @@ namespace Maat.Data.Services
List listTask = TaskListAll(tName, Enums.Task2ExeType.ND, "");
// verifico SE ci siano task in scadenza...
DateTime adesso = DateTime.Now;
- List task2exe = listTask.Where(x => x.DtNextExec <= adesso).ToList();
+ List task2exe = listTask.Where(x => x.Enabled && x.DtNextExec <= adesso).ToList();
+ int numDone = 0;
if (task2exe != null && task2exe.Count > 0)
{
Log.Info($"{tName} | Found {task2exe.Count} task to execute");
+ // suddivisione x gruppi
+ var ListGrouped = task2exe
+ .OrderBy(x => x.Group)
+ .ThenBy(x => x.Ordinal)
+ .GroupBy(x => x.Group)
+ .ToDictionary(g => g.Key, g => g.ToList());
+
+ // ciclo, e all'interno del gruppo SE non passa uno step si ferma....
+ foreach (var taskGroup in ListGrouped)
+ {
+ foreach (var taskRec in taskGroup.Value)
+ {
+ TaskResultModel result = ExecuteTask(taskRec);
+ answ.Add(result);
+ numDone++;
+ // SE non eseguito --> esce, come anche se passato timeout (e ultima esecuzione รจ prima della scadenza..
+ if (result.ExecResult < 0)
+ {
+ break;
+ }
+ }
+ }
+
+#if false
foreach (var taskRec in task2exe)
{
TaskResultModel result = ExecuteTask(taskRec);
answ.Add(result);
- }
+ }
+#endif
}
else
{
- Log.Trace($"{tName} | Chiamata CheckExecute");
+ Log.Trace($"{tName} | Chiamata CheckExecute | eseguiti {numDone} task");
}
// resituisco
return answ;
diff --git a/Maat.Runner/Maat.Runner.csproj b/Maat.Runner/Maat.Runner.csproj
index 34f1cce..4171154 100644
--- a/Maat.Runner/Maat.Runner.csproj
+++ b/Maat.Runner/Maat.Runner.csproj
@@ -5,7 +5,7 @@
net6.0
enable
enable
- 1.2.2506.0509
+ 1.2.2507.2112
diff --git a/Resources/ChangeLog.html b/Resources/ChangeLog.html
index f3f1c5e..6e9a841 100644
--- a/Resources/ChangeLog.html
+++ b/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Maat.Installer - Manager for Application & Applicative Task
- Versione: 1.2.2506.0509
+ Versione: 1.2.2507.2112
Note di rilascio:
-
diff --git a/Resources/VersNum.txt b/Resources/VersNum.txt
index 11a1e26..7ede6d8 100644
--- a/Resources/VersNum.txt
+++ b/Resources/VersNum.txt
@@ -1 +1 @@
-1.2.2506.0509
+1.2.2507.2112
diff --git a/Resources/manifest.xml b/Resources/manifest.xml
index 3652a46..42bdf25 100644
--- a/Resources/manifest.xml
+++ b/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 1.2.2506.0509
+ 1.2.2507.2112
http://nexus.steamware.net/repository/SWS/Maat.Installer/stable/LAST/Maat.Installer.msi
http://nexus.steamware.net/repository/SWS/Maat.Installer/stable/LAST/ChangeLog.html
false