Per il mio progetto sto creando un meccanismo di accodamento basato sul modello di comando, che può eseguire uno dei numerosi lavori. I lavori possono aggiungere altri lavori alla coda o possono essere aggiunti da un essere umano. La maggior parte dei lavori viene eseguita dopo l'esecuzione una volta, ma alcuni lavori dovranno essere riprogrammati in un secondo momento.
Ho deciso di creare un set di dati separato per i lavori che devono essere riprogrammati e creare un processo separato che esegua il loop su questi a intervalli regolari per aggiungere nuovi lavori alla coda.
Sono bloccato a quale sia la convenzione di denominazione corretta per il mio set di dati e il processo (in loop) per riprogrammare i lavori. Il mio pensiero è che assomiglierà a qualcosa del genere:
I miei set di dati:
- Lavoro (in coda) - Informazioni sul lavoro da eseguire.
- Rapporto sugli incidenti - Qualsiasi risultato che richiede maggiore attenzione viene registrato qui.
- Risultato (multiplo) - Tutti i dati risultanti dai lavori eseguiti.
- Lavoro pianificato (come chiamare?) - Informazioni su un lavoro che deve essere eseguito in futuro e il timestamp il mio processo deve aggiungere il lavoro alla coda.
I miei oggetti:
- Cliente - Un oggetto che ottiene un lavoro dalla coda e si associa ad una specifica classe di comando e lo passa al comando invoker.
- Comando (multiplo) - Contiene la logica del lavoro e i dati del lavoro per passare le dipendenze.
- Invocatore dei comandi - Fornisce l'ultima chiamata per eseguire il comando e lo rimuove dalla coda in seguito. Questa classe sarà probabilmente anche responsabile dell'aggiornamento dei dati sui lavori pianificati.
- Pianificazione lavoro - Un oggetto indipendente che può aggiungere lavori in qualsiasi momento da un lavoro che viene eseguito.
Non sono sicuro di dover aggiungere il processo di riprogrammazione dei lavori come un lavoro separato o come un'applicazione completamente diversa. Spero che qualcuno possa darmi qualche consiglio su come andare avanti.