Devo progettare un sistema in cui ho bisogno di fare un po 'di elaborazione (che potrebbe richiedere 10 minuti).
Dopo un po 'di tempo (diciamo 30 minuti), ho bisogno di tornare indietro e controllare lo stato di questa elaborazione ed eventualmente interrompere qualsiasi ulteriore elaborazione.
Ci sarebbero più processi di questo tipo licenziati e in esecuzione sequenzialmente o in parallelo. Ciascuno avrebbe un tempo di elaborazione diverso e ognuno avrebbe un diverso tempo di "arresto".
Un modo è che questo sarebbe un cronjob che ritorna ogni 30 minuti e controlla il componente di elaborazione.
La mia soluzione è attualmente progettata su NodeJS e intendo che sia senza stato. Sto eseguendo una richiamata in un intervallo di 10 minuti per controllare lo stato finale.
Quello che voglio sapere è come sono progettati tali sistemi? Esiste un'alternativa migliore ad avere un cron job e / o un polling continuo per lo stato di un'elaborazione. come lo faresti?
Se sono troppo vago nel requisito, faccelo sapere e posso aggiungere ulteriori dettagli.