update x gestione envir su chiamate rest (provati con insomnia, da validare)

This commit is contained in:
Samuele Locatelli
2026-02-10 09:57:21 +01:00
parent 9a3b3af99b
commit 02b5ed04be
9 changed files with 64 additions and 39 deletions
+17 -8
View File
@@ -54,15 +54,20 @@ namespace Lux.API.Controllers
}
/// <summary>
/// Chiamata GET:
/// Chiamata GET:
/// - fornisce il job da eseguire dalla coda (SE presente)
/// GET: api/Prod/getjob/ABC012345
/// GET: api/Prod/getjob/BEAM/ABC012345
/// GET: api/Prod/getjob/WINDOW/ABC012345
/// </summary>
/// <param name="envir"></param>
/// <param name="uid"></param>
/// <returns></returns>
[HttpGet("getjob/{uid}")]
public async Task<ActionResult<QuestionDTO>> GetJob(string uid)
[HttpGet("getjob/{envir}/{uid}")]
public async Task<ActionResult<QuestionDTO>> GetJob(string envir, string uid)
{
var result = await PService.GetJob(uid);
Constants.EXECENVIRONMENTS cEnvir = Constants.EXECENVIRONMENTS.WINDOW;
Enum.TryParse(envir, out cEnvir);
var result = await PService.GetJob(cEnvir, uid);
QuestionDTO? deserRes = JsonConvert.DeserializeObject<QuestionDTO>(result);
if (deserRes != null)
{
@@ -75,7 +80,9 @@ namespace Lux.API.Controllers
deserRes.Args.Remove("RUID");
}
// lo aggiungo!
string envir = $"{deserRes.ExecEnvironment}";
#if false
string envir = $"{deserRes.ExecEnvironment}";
#endif
var mode = deserRes.Args["Mode"];
var sub = deserRes.Args["SubMode"];
string type = string.IsNullOrEmpty(sub) ? mode : $"{mode}-{sub}";
@@ -219,7 +226,7 @@ namespace Lux.API.Controllers
/// </summary>
/// <param name="envir">Environment della richiesta</param>
/// <returns></returns>
[HttpGet("qstatus")]
[HttpGet("qstatus/{envir}")]
public async Task<IActionResult> QueueStatus(string envir)
{
Stopwatch sw = new Stopwatch();
@@ -227,11 +234,13 @@ namespace Lux.API.Controllers
Constants.EXECENVIRONMENTS cEnvir = Constants.EXECENVIRONMENTS.WINDOW;
Enum.TryParse(envir, out cEnvir);
Dictionary<string, long> queueStatus = new Dictionary<string, long>();
long numWait = await PService.QueueLen(cEnvir, QueueType.waiting);
long numDone = await PService.QueueLen(cEnvir, QueueType.done);
long numRun = await PService.QueueLen(cEnvir, QueueType.running);
long numWait = await PService.QueueLen(cEnvir, QueueType.waiting);
// simulo status...
queueStatus.Add("waiting", numWait);
queueStatus.Add("running", numRun);
queueStatus.Add("done", numDone);
sw.Stop();
Log.Info($"QueueStatus | {sw.Elapsed.TotalMilliseconds:N3} ms");
return Ok(queueStatus);