namespace EgwCoreLib.Lux.Data.Services.General { /// /// Interfaccia servizio produzione /// public interface IProdService { #region Public Methods /// /// Richiesta di esecuzione di un job di tipo Balance /// /// Cod job /// Dati bilanciamento /// True se elaborato con successo Task BalanceJobAsync(string codJob, BalanceReqDto balData); /// /// Accoda una richiesta di calcolo /// /// Tipo richiesta /// UID richiesta /// Richiesta completa /// True se accodato con successo Task EnqueueRequestAsync(string reqType, string reqUid, CalcRequestDTO currRequest); /// /// Restituzione singolo Job specifico dalla coda ORDINI /// /// Environment richiesto /// ID Job /// Job serializzato Task GetJobAsync(EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS cEnv, string id); /// /// Restituisce il contenuto della prossima richiesta da eseguire x Environment /// /// Environment richiesto /// Tipo coda (default waiting) /// Richiesta serializzata Task GetNextAsync(EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS cEnv, ProdQueueType qType = ProdQueueType.waiting); /// /// Numero di Job in attesa su coda x environment e tipo /// /// Environment richiesto /// Tipo coda (default waiting) /// Lunghezza coda Task QueueLenAsync(EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS cEnv, ProdQueueType qType = ProdQueueType.waiting); /// /// Restituisce elenco corrente delle richieste x environment e tipo /// /// Environment richiesto /// Tipo coda /// Elenco di UID in coda Task> QueueListAllAsync(EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS cEnv, ProdQueueType qType); /// /// Reset coda del tipo richiesto... /// /// Environment richiesto /// Tipo coda /// True se resettato con successo bool QueueReset(EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS cEnv, ProdQueueType qType); /// /// Reset coda del tipo richiestoversione Async... /// /// Environment richiesto /// Tipo coda /// True se resettato con successo Task QueueResetAsync(EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS cEnv, ProdQueueType qType); /// /// Rimette un run un singolo job eliminando da coda Run e mettendo in coda waiting /// /// Environment richiesto /// Cod Job da resettare /// True se resettato con successo Task ReRunJobAsync(EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS cEnv, string codJob); /// /// Reset coda running (riaccoda job su waiting)... /// /// Environment richiesto /// True se resettato con successo Task ResetRunningAsync(EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS cEnv); /// /// Verifica un job in una coda, se trovato lo "avanza" a fatto /// /// Environment richiesto /// Chiave da cercare x avanzarla /// Coda di default a run --> done /// True se avanzato con successo Task SetDoneAsync(EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS cEnv, string codJob, ProdQueueType qType = ProdQueueType.running); /// /// Esegue avanzamento nella coda logica tra wait/run/done se possibile... /// /// Chiave hash del contenuto richiesta RUID /// Task UpdateQueueAsync(EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS cEnvir, string hashKey); #endregion Public Methods } }